| Index: tools/grit/grit/tool/buildinfo_unittest.py
|
| diff --git a/tools/grit/grit/tool/buildinfo_unittest.py b/tools/grit/grit/tool/buildinfo_unittest.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..b07bcd62206d6e0f9871e9ed58c0044df4cfa72c
|
| --- /dev/null
|
| +++ b/tools/grit/grit/tool/buildinfo_unittest.py
|
| @@ -0,0 +1,87 @@
|
| +#!/usr/bin/env python
|
| +# Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +"""Unit tests for the 'grit buildinfo' tool.
|
| +"""
|
| +
|
| +import os
|
| +import StringIO
|
| +import sys
|
| +import unittest
|
| +
|
| +# This is needed to find some of the imports below.
|
| +if __name__ == '__main__':
|
| + sys.path.append(os.path.join(os.path.dirname(__file__), '../..'))
|
| +
|
| +# pylint: disable-msg=C6204
|
| +from grit.tool import buildinfo
|
| +
|
| +
|
| +class BuildInfoUnittest(unittest.TestCase):
|
| + def setUp(self):
|
| + self.old_cwd = os.getcwd()
|
| + # Change CWD to make tests work independently of callers CWD.
|
| + os.chdir(os.path.dirname(__file__))
|
| + os.chdir('..')
|
| + self.buf = StringIO.StringIO()
|
| + self.old_stdout = sys.stdout
|
| + sys.stdout = self.buf
|
| +
|
| + def tearDown(self):
|
| + sys.stdout = self.old_stdout
|
| + os.chdir(self.old_cwd)
|
| +
|
| + def testBuildOutput(self):
|
| + """Find all of the inputs and outputs for a GRD file."""
|
| + info_object = buildinfo.DetermineBuildInfo()
|
| +
|
| + class DummyOpts(object):
|
| + def __init__(self):
|
| + self.input = '../grit/testdata/buildinfo.grd'
|
| + self.print_header = False
|
| + self.verbose = False
|
| + self.extra_verbose = False
|
| + info_object.Run(DummyOpts(), [])
|
| + output = self.buf.getvalue().replace('\\', '/')
|
| + self.failUnless(output.count(r'rc_all|sv_sidebar_loading.html'))
|
| + self.failUnless(output.count(r'rc_header|resource.h'))
|
| + self.failUnless(output.count(r'rc_all|en_generated_resources.rc'))
|
| + self.failUnless(output.count(r'rc_all|sv_generated_resources.rc'))
|
| + self.failUnless(output.count(r'input|../grit/testdata/substitute.xmb'))
|
| + self.failUnless(output.count(r'input|../grit/testdata/pr.bmp'))
|
| + self.failUnless(output.count(r'input|../grit/testdata/pr2.bmp'))
|
| + self.failUnless(
|
| + output.count(r'input|../grit/testdata/sidebar_loading.html'))
|
| + self.failUnless(output.count(r'input|../grit/testdata/transl.rc'))
|
| + self.failUnless(output.count(r'input|../grit/testdata/transl1.rc'))
|
| +
|
| + def testBuildOutputWithDir(self):
|
| + """Find all the inputs and outputs for a GRD file with an output dir."""
|
| + info_object = buildinfo.DetermineBuildInfo()
|
| +
|
| + class DummyOpts(object):
|
| + def __init__(self):
|
| + self.input = '../grit/testdata/buildinfo.grd'
|
| + self.print_header = False
|
| + self.verbose = False
|
| + self.extra_verbose = False
|
| + info_object.Run(DummyOpts(), ['-o', '../grit/testdata'])
|
| + output = self.buf.getvalue().replace('\\', '/')
|
| + self.failUnless(
|
| + output.count(r'rc_all|../grit/testdata/sv_sidebar_loading.html'))
|
| + self.failUnless(output.count(r'rc_header|../grit/testdata/resource.h'))
|
| + self.failUnless(
|
| + output.count(r'rc_all|../grit/testdata/en_generated_resources.rc'))
|
| + self.failUnless(
|
| + output.count(r'rc_all|../grit/testdata/sv_generated_resources.rc'))
|
| + self.failUnless(output.count(r'input|../grit/testdata/substitute.xmb'))
|
| + self.failUnlessEqual(0,
|
| + output.count(r'rc_all|../grit/testdata/sv_welcome_toast.html'))
|
| + self.failUnless(
|
| + output.count(r'rc_all|../grit/testdata/en_welcome_toast.html'))
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + unittest.main()
|
|
|