diff options
Diffstat (limited to 'chromium/tools/grit/grit/grd_reader_unittest.py')
-rw-r--r-- | chromium/tools/grit/grit/grd_reader_unittest.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/chromium/tools/grit/grit/grd_reader_unittest.py b/chromium/tools/grit/grit/grd_reader_unittest.py index 5a4c7c3fa5f..fd4d08bfbdc 100644 --- a/chromium/tools/grit/grit/grd_reader_unittest.py +++ b/chromium/tools/grit/grit/grd_reader_unittest.py @@ -16,6 +16,7 @@ import StringIO from grit import exception from grit import grd_reader from grit import util +from grit.node import base from grit.node import empty @@ -285,6 +286,29 @@ class GrdReaderUnittest(unittest.TestCase): with util.TempDir({'bad.grp': data}) as temp_dir: self.assertRaises(raises, grd_reader.Parse, top_grd, temp_dir.GetPath()) + def testEarlyEnoughPlatformSpecification(self): + # This is a regression test for issue + # https://code.google.com/p/grit-i18n/issues/detail?id=23 + grd_text = u'''<?xml version="1.0" encoding="UTF-8"?> + <grit latest_public_release="1" current_release="1"> + <release seq="1"> + <messages> + <if expr="not pp_ifdef('use_titlecase')"> + <message name="IDS_XYZ">foo</message> + </if> + <!-- The assumption is that use_titlecase is never true for + this platform. When the platform isn't set to 'android' + early enough, we get a duplicate message name. --> + <if expr="os == '%s'"> + <message name="IDS_XYZ">boo</message> + </if> + </messages> + </release> + </grit>''' % sys.platform + with util.TempDir({}) as temp_dir: + grd_reader.Parse(StringIO.StringIO(grd_text), temp_dir.GetPath(), + target_platform='android') + if __name__ == '__main__': unittest.main() |