Ejemplo n.º 1
0
    def test_save2db_compile(self):
        """Test save2db and compilation of template"""
        handler = DTDHandler(
            os.path.join(os.path.dirname(__file__), 'aboutRobots.dtd')
        )
        r = self.resource
        l = self.resource.source_language

        handler.set_language(l)
        handler.bind_resource(r)
        handler.parse_file(is_source=True)
        handler.save2db(is_source=True)

        # Import and save the finish translation
        handler.bind_file(
            os.path.join(os.path.dirname(__file__),
             'aboutRobots_uk.dtd')
        )
        l = Language.objects.get(code='uk')
        handler.set_language(l)
        handler.parse_file()
        handler.save2db()

        # check number of source entities imported
        self.assertEqual(SourceEntity.objects.filter(resource=r).count(), 4)

        # Check that all source translations are there
        self.assertEqual(
            Translation.objects.filter(
                source_entity__resource=r, language=l).count(), 3
            )

        compiled_template = handler.compile()
        # comments should be in place
        self.assertIn("I am ready for you", compiled_template.decode('UTF-8'))

        # template should be in UTF-8, and single quotes should be doubled
        self.assertIn(
            u'<!ENTITY robots.errorTitleText "Привіт людинам!">',
            compiled_template.decode('UTF-8')
        )
        handler.set_language(self.resource.source_language)
        compiled_template = handler.compile()
        source_compiled_file = os.path.join(os.path.dirname(__file__),
                'aboutRobots_compiled.dtd')
        f = open(source_compiled_file, 'r')
        expected_compiled_template = f.read()
        f.close()
        self.assertEqual(compiled_template, expected_compiled_template)
        r.delete()
Ejemplo n.º 2
0
    def test_save2db_compile(self):
        """Test save2db and compilation of template"""
        handler = DTDHandler(
            os.path.join(os.path.dirname(__file__), 'aboutRobots.dtd'))
        r = self.resource
        l = self.resource.source_language

        handler.set_language(l)
        handler.bind_resource(r)
        handler.parse_file(is_source=True)
        handler.save2db(is_source=True)

        # Import and save the finish translation
        handler.bind_file(
            os.path.join(os.path.dirname(__file__), 'aboutRobots_uk.dtd'))
        l = Language.objects.get(code='uk')
        handler.set_language(l)
        handler.parse_file()
        handler.save2db()

        # check number of source entities imported
        self.assertEqual(SourceEntity.objects.filter(resource=r).count(), 4)

        # Check that all source translations are there
        self.assertEqual(
            Translation.objects.filter(source_entity__resource=r,
                                       language=l).count(), 3)

        compiled_template = handler.compile()
        # comments should be in place
        self.assertIn("I am ready for you", compiled_template.decode('UTF-8'))

        # template should be in UTF-8, and single quotes should be doubled
        self.assertIn(u'<!ENTITY robots.errorTitleText "Привіт людинам!">',
                      compiled_template.decode('UTF-8'))
        handler.set_language(self.resource.source_language)
        compiled_template = handler.compile()
        source_compiled_file = os.path.join(os.path.dirname(__file__),
                                            'aboutRobots_compiled.dtd')
        f = open(source_compiled_file, 'r')
        expected_compiled_template = f.read()
        f.close()
        self.assertEqual(compiled_template, expected_compiled_template)
        r.delete()