Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(277)

Unified Diff: grit/tool/build_unittest.py

Issue 669763002: Apply whitelist file to structure elements. (Closed) Base URL: https://chromium.googlesource.com/external/grit-i18n.git@master
Patch Set: fix indent Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « grit/tool/build.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: grit/tool/build_unittest.py
diff --git a/grit/tool/build_unittest.py b/grit/tool/build_unittest.py
index debe4d4c5312c043a29fd6cb8d2818354c26db8a..d94b30e78ca071931f2b1e26fd3c8eb6f6c2f1b9 100644
--- a/grit/tool/build_unittest.py
+++ b/grit/tool/build_unittest.py
@@ -6,6 +6,7 @@
'''Unit tests for the 'grit build' tool.
'''
+import codecs
import os
import sys
import tempfile
@@ -85,5 +86,98 @@ class BuildUnittest(unittest.TestCase):
'-a', os.path.abspath(
os.path.join(output_dir, 'resource.h'))]))
+ def _verifyWhitelistedOutput(self,
+ filename,
+ whitelisted_ids,
+ non_whitelisted_ids,
+ encoding='utf8'):
+ self.failUnless(os.path.exists(filename))
+ whitelisted_ids_found = []
+ non_whitelisted_ids_found = []
+ with codecs.open(filename, encoding=encoding) as f:
+ for line in f.readlines():
+ for whitelisted_id in whitelisted_ids:
+ if whitelisted_id in line:
+ whitelisted_ids_found.append(whitelisted_id)
+ for non_whitelisted_id in non_whitelisted_ids:
+ if non_whitelisted_id in line:
+ non_whitelisted_ids_found.append(non_whitelisted_id)
+ self.longMessage = True
+ self.assertEqual(whitelisted_ids,
+ whitelisted_ids_found,
+ '\nin file {}'.format(os.path.basename(filename)))
+ non_whitelisted_msg = ('Non-Whitelisted IDs {} found in {}'
+ .format(non_whitelisted_ids_found, os.path.basename(filename)))
+ self.assertFalse(non_whitelisted_ids_found, non_whitelisted_msg)
+
+ def testWhitelistStrings(self):
+ output_dir = tempfile.mkdtemp()
+ builder = build.RcBuilder()
+ class DummyOpts(object):
+ def __init__(self):
+ self.input = util.PathFromRoot('grit/testdata/whitelist_strings.grd')
+ self.verbose = False
+ self.extra_verbose = False
+ whitelist_file = util.PathFromRoot('grit/testdata/whitelist.txt')
+ builder.Run(DummyOpts(), ['-o', output_dir,
+ '-w', whitelist_file])
+ header = os.path.join(output_dir, 'whitelist_test_resources.h')
+ rc = os.path.join(output_dir, 'en_whitelist_test_strings.rc')
+
+ whitelisted_ids = ['IDS_MESSAGE_WHITELISTED']
+ non_whitelisted_ids = ['IDS_MESSAGE_NOT_WHITELISTED']
+ self._verifyWhitelistedOutput(
+ header,
+ whitelisted_ids,
+ non_whitelisted_ids,
+ )
+ self._verifyWhitelistedOutput(
+ rc,
+ whitelisted_ids,
+ non_whitelisted_ids,
+ encoding='utf16'
+ )
+
+ def testWhitelistResources(self):
+ output_dir = tempfile.mkdtemp()
+ builder = build.RcBuilder()
+ class DummyOpts(object):
+ def __init__(self):
+ self.input = util.PathFromRoot('grit/testdata/whitelist_resources.grd')
+ self.verbose = False
+ self.extra_verbose = False
+ whitelist_file = util.PathFromRoot('grit/testdata/whitelist.txt')
+ builder.Run(DummyOpts(), ['-o', output_dir,
+ '-w', whitelist_file])
+ header = os.path.join(output_dir, 'whitelist_test_resources.h')
+ map_cc = os.path.join(output_dir, 'whitelist_test_resources_map.cc')
+ map_h = os.path.join(output_dir, 'whitelist_test_resources_map.h')
+ pak = os.path.join(output_dir, 'whitelist_test_resources.pak')
+
+ # Ensure the resource map header and .pak files exist, but don't verify
+ # their content.
+ self.failUnless(os.path.exists(map_h))
+ self.failUnless(os.path.exists(pak))
+
+ whitelisted_ids = [
+ 'IDR_STRUCTURE_WHITELISTED',
+ 'IDR_STRUCTURE_IN_TRUE_IF_WHITELISTED',
+ 'IDR_INCLUDE_WHITELISTED',
+ ]
+ non_whitelisted_ids = [
+ 'IDR_STRUCTURE_NOT_WHITELISTED',
+ 'IDR_STRUCTURE_IN_TRUE_IF_NOT_WHITELISTED',
+ 'IDR_STRUCTURE_IN_FALSE_IF_WHITELISTED',
+ 'IDR_STRUCTURE_IN_FALSE_IF_NOT_WHITELISTED',
+ 'IDR_INCLUDE_NOT_WHITELISTED',
+ ]
+ for output_file in (header, map_cc):
+ self._verifyWhitelistedOutput(
+ output_file,
+ whitelisted_ids,
+ non_whitelisted_ids,
+ )
+
+
if __name__ == '__main__':
unittest.main()
« no previous file with comments | « grit/tool/build.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698