class PropertyFileExportTest(unittest.TestCase): """Test XPI `XpiPropertiesSubExporter`.""" def setUp(self): self.exporter = XpiPropertiesSubExporter() def test_properties_export(self): # Test plain export of an XPI properties file. file = MockFile(messages=[ MockMessage('foo', 'bar'), MockMessage('id', 'translation', comment='comment'), ]) expected = dedent(""" foo=bar /* comment */ id=translation """).strip() self.assertEqual(self.exporter.export(file), expected) def test_escape(self): # Test escaping in properties files. file = MockFile(messages=[ MockMessage("f'oo", 'b"ar', comment="Escaped quotes"), MockMessage("f\\oo", "b\\ar", comment="Escaped backslashes"), ]) expected = dedent(""" /* Escaped quotes */ f\\'oo=b\\"ar /* Escaped backslashes */ f\\\\oo=b\\\\ar """).strip() self.assertEqual(self.exporter.export(file).strip(), expected) def test_escape_comment(self): # Test escaping of comments in properties files. Not fancy like # actual translation content escaping; just making sure an # ill-chosen comment does not produce wildly invalid output. file = MockFile(messages=[ MockMessage("foo", "bar", comment="/*//*/**/ */")]) expected = dedent(""" /* /*X//*X/**X/ *X/ */ foo=bar """).strip() self.assertEqual(self.exporter.export(file).strip(), expected)
def setUp(self): self.exporter = XpiPropertiesSubExporter()