| Index: tools/grit/grit/node/misc_unittest.py
|
| diff --git a/tools/grit/grit/node/misc_unittest.py b/tools/grit/grit/node/misc_unittest.py
|
| index b7ee4def3ef821818728d699fbe640e688230f33..1adc632dd5e4b1d0b3b1e25892545e7ffc525c27 100644
|
| --- a/tools/grit/grit/node/misc_unittest.py
|
| +++ b/tools/grit/grit/node/misc_unittest.py
|
| @@ -59,9 +59,9 @@ class IfNodeUnittest(unittest.TestCase):
|
| bingo_message = messages_node.children[0].children[0]
|
| hello_message = messages_node.children[1].children[0]
|
| french_message = messages_node.children[2].children[0]
|
| - assert bingo_message.name == 'message'
|
| - assert hello_message.name == 'message'
|
| - assert french_message.name == 'message'
|
| + self.assertTrue(bingo_message.name == 'message')
|
| + self.assertTrue(hello_message.name == 'message')
|
| + self.assertTrue(french_message.name == 'message')
|
|
|
| grd.SetOutputContext('fr', {'hello' : '1'})
|
| self.failUnless(not bingo_message.SatisfiesOutputCondition())
|
| @@ -78,6 +78,60 @@ class IfNodeUnittest(unittest.TestCase):
|
| self.failUnless(not hello_message.SatisfiesOutputCondition())
|
| self.failUnless(french_message.SatisfiesOutputCondition())
|
|
|
| + def testIffynessWithOutputNodes(self):
|
| + grd = grd_reader.Parse(StringIO.StringIO('''
|
| + <grit latest_public_release="2" source_lang_id="en-US" current_release="3" base_dir=".">
|
| + <outputs>
|
| + <output filename="uncond1.rc" type="rc_data" />
|
| + <if expr="lang == 'fr' or 'hello' in defs">
|
| + <output filename="only_fr.adm" type="adm" />
|
| + <output filename="only_fr.plist" type="plist" />
|
| + </if>
|
| + <if expr="lang == 'ru'">
|
| + <output filename="doc.html" type="document" />
|
| + </if>
|
| + <output filename="uncond2.adm" type="adm" />
|
| + </outputs>
|
| + </grit>'''), dir='.')
|
| +
|
| + outputs_node = grd.children[0]
|
| + uncond1_output = outputs_node.children[0]
|
| + only_fr_adm_output = outputs_node.children[1].children[0]
|
| + only_fr_plist_output = outputs_node.children[1].children[1]
|
| + doc_output = outputs_node.children[2].children[0]
|
| + uncond2_output = outputs_node.children[0]
|
| + self.assertTrue(uncond1_output.name == 'output')
|
| + self.assertTrue(only_fr_adm_output.name == 'output')
|
| + self.assertTrue(only_fr_plist_output.name == 'output')
|
| + self.assertTrue(doc_output.name == 'output')
|
| + self.assertTrue(uncond2_output.name == 'output')
|
| +
|
| + grd.SetOutputContext('ru', {'hello' : '1'})
|
| + outputs = [output.GetFilename() for output in grd.GetOutputFiles()]
|
| + self.assertEquals(
|
| + outputs,
|
| + ['uncond1.rc', 'only_fr.adm', 'only_fr.plist', 'doc.html',
|
| + 'uncond2.adm'])
|
| +
|
| + grd.SetOutputContext('ru', {'bingo': '2'})
|
| + outputs = [output.GetFilename() for output in grd.GetOutputFiles()]
|
| + self.assertEquals(
|
| + outputs,
|
| + ['uncond1.rc', 'doc.html', 'uncond2.adm'])
|
| +
|
| + grd.SetOutputContext('fr', {'hello': '1'})
|
| + outputs = [output.GetFilename() for output in grd.GetOutputFiles()]
|
| + self.assertEquals(
|
| + outputs,
|
| + ['uncond1.rc', 'only_fr.adm', 'only_fr.plist', 'uncond2.adm'])
|
| +
|
| + grd.SetOutputContext('en', {'bingo': '1'})
|
| + outputs = [output.GetFilename() for output in grd.GetOutputFiles()]
|
| + self.assertEquals(outputs, ['uncond1.rc', 'uncond2.adm'])
|
| +
|
| + grd.SetOutputContext('fr', {'bingo': '1'})
|
| + outputs = [output.GetFilename() for output in grd.GetOutputFiles()]
|
| + self.assertNotEquals(outputs, ['uncond1.rc', 'uncond2.adm'])
|
|
|
| class ReleaseNodeUnittest(unittest.TestCase):
|
| def testPseudoControl(self):
|
|
|