OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 """Unit tests for the 'grit buildinfo' tool. | |
7 """ | |
8 | |
9 import os | |
10 import StringIO | |
11 import sys | |
12 import unittest | |
13 | |
14 # This is needed to find some of the imports below. | |
15 if __name__ == '__main__': | |
16 sys.path.append(os.path.join(os.path.dirname(__file__), '../..')) | |
17 | |
18 # pylint: disable-msg=C6204 | |
19 from grit.tool import buildinfo | |
20 | |
21 | |
22 class BuildInfoUnittest(unittest.TestCase): | |
23 def setUp(self): | |
24 self.old_cwd = os.getcwd() | |
25 # Change CWD to make tests work independently of callers CWD. | |
26 os.chdir(os.path.dirname(__file__)) | |
27 os.chdir('..') | |
28 self.buf = StringIO.StringIO() | |
29 self.old_stdout = sys.stdout | |
30 sys.stdout = self.buf | |
31 | |
32 def tearDown(self): | |
33 sys.stdout = self.old_stdout | |
34 os.chdir(self.old_cwd) | |
35 | |
36 def testBuildOutput(self): | |
37 """Find all of the inputs and outputs for a GRD file.""" | |
38 info_object = buildinfo.DetermineBuildInfo() | |
39 | |
40 class DummyOpts(object): | |
41 def __init__(self): | |
42 self.input = '../grit/testdata/buildinfo.grd' | |
43 self.print_header = False | |
44 self.verbose = False | |
45 self.extra_verbose = False | |
46 info_object.Run(DummyOpts(), []) | |
47 output = self.buf.getvalue().replace('\\', '/') | |
48 self.failUnless(output.count(r'rc_all|sv_sidebar_loading.html')) | |
49 self.failUnless(output.count(r'rc_header|resource.h')) | |
50 self.failUnless(output.count(r'rc_all|en_generated_resources.rc')) | |
51 self.failUnless(output.count(r'rc_all|sv_generated_resources.rc')) | |
52 self.failUnless(output.count(r'input|../grit/testdata/substitute.xmb')) | |
53 self.failUnless(output.count(r'input|../grit/testdata/pr.bmp')) | |
54 self.failUnless(output.count(r'input|../grit/testdata/pr2.bmp')) | |
55 self.failUnless( | |
56 output.count(r'input|../grit/testdata/sidebar_loading.html')) | |
57 self.failUnless(output.count(r'input|../grit/testdata/transl.rc')) | |
58 self.failUnless(output.count(r'input|../grit/testdata/transl1.rc')) | |
59 | |
60 def testBuildOutputWithDir(self): | |
61 """Find all the inputs and outputs for a GRD file with an output dir.""" | |
62 info_object = buildinfo.DetermineBuildInfo() | |
63 | |
64 class DummyOpts(object): | |
65 def __init__(self): | |
66 self.input = '../grit/testdata/buildinfo.grd' | |
67 self.print_header = False | |
68 self.verbose = False | |
69 self.extra_verbose = False | |
70 info_object.Run(DummyOpts(), ['-o', '../grit/testdata']) | |
71 output = self.buf.getvalue().replace('\\', '/') | |
72 self.failUnless( | |
73 output.count(r'rc_all|../grit/testdata/sv_sidebar_loading.html')) | |
74 self.failUnless(output.count(r'rc_header|../grit/testdata/resource.h')) | |
75 self.failUnless( | |
76 output.count(r'rc_all|../grit/testdata/en_generated_resources.rc')) | |
77 self.failUnless( | |
78 output.count(r'rc_all|../grit/testdata/sv_generated_resources.rc')) | |
79 self.failUnless(output.count(r'input|../grit/testdata/substitute.xmb')) | |
80 self.failUnlessEqual(0, | |
81 output.count(r'rc_all|../grit/testdata/sv_welcome_toast.html')) | |
82 self.failUnless( | |
83 output.count(r'rc_all|../grit/testdata/en_welcome_toast.html')) | |
84 | |
85 | |
86 if __name__ == '__main__': | |
87 unittest.main() | |
OLD | NEW |