Пример #1
0
 def test_tick(self):
     stats = translation_stats.TranslationStats()
     stats.tick(catalog.Message(
         'About',
         'Faoi',
     ), 'ga', 'en')
     stats.tick(catalog.Message(
         'Home',
         'Baile',
     ), 'ga', 'en')
     stats.tick(catalog.Message(
         'Home',
         'Baile',
     ), 'ga', 'en')
     self.assertEqual(
         {
             'messages': {
                 'ga': {
                     'About': 1,
                     'Home': 2,
                 },
             },
             'untranslated': {},
             'untagged': {},
         }, stats.export())
Пример #2
0
 def test_tick_none(self):
     stats = translation_stats.TranslationStats()
     stats.tick(None, 'ga', 'en')
     self.assertEqual({
         'messages': {},
         'untranslated': {},
         'untagged': {},
     }, stats.export())
Пример #3
0
 def test_missing(self):
     stats = translation_stats.TranslationStats()
     stats.tick(catalog.Message(
         'About',
         None,
     ), 'ga', 'en')
     stats.add_untagged({
         '/content/pages/test.yaml': 'About',
     })
     self.assertEqual({'ga': {'About': 1}}, stats.missing)
Пример #4
0
 def test_untagged(self):
     stats = translation_stats.TranslationStats()
     stats.add_untagged({
         '/content/pages/test.yaml': 'About',
     })
     self.assertEqual(
         {
             'messages': {},
             'untranslated': {},
             'untagged': {
                 '/content/pages/test.yaml': 'About',
             },
         }, stats.export())
Пример #5
0
 def test_export_untranslated_catalogs(self):
     """Make sure that we can make catalogs from the untranslated strings."""
     dir_path = testing.create_test_pod_dir()
     pod = pods.Pod(dir_path, storage=storage.FileStorage)
     stats = translation_stats.TranslationStats()
     stats.tick(catalog.Message(
         'About',
         None,
     ), 'ga', 'en')
     self.assertEqual({
         'ga': {
             'About': 1,
         },
     }, stats.untranslated)
     untranslated_catalogs = stats.export_untranslated_catalogs(pod)
     self.assertTrue('About' in untranslated_catalogs['ga'])
Пример #6
0
 def test_count_untranslated(self):
     stats = translation_stats.TranslationStats()
     self.assertEqual(0, stats.count_untranslated)
     stats.tick(catalog.Message(
         'About',
         None,
     ), 'ga', 'en')
     self.assertEqual(1, stats.count_untranslated)
     stats.tick(catalog.Message(
         'Foo',
         None,
     ), 'ga', 'en')
     stats.tick(catalog.Message(
         'Bar',
         None,
     ), 'es', 'en')
     # Uses max across any locale. Not restricted by locale.
     self.assertEqual(3, stats.count_untranslated)
Пример #7
0
 def test_tick_untranslated(self):
     stats = translation_stats.TranslationStats()
     stats.tick(catalog.Message(
         'About',
         None,
     ), 'ga', 'en')
     self.assertEqual(
         {
             'messages': {
                 'ga': {
                     'About': 1,
                 },
             },
             'untranslated': {
                 'ga': {
                     'About': 1,
                 },
             },
             'untagged': {},
         }, stats.export())
Пример #8
0
    def test_export_untranslated_tracebacks(self):
        """Untranslated strings tracebacks."""
        stats = translation_stats.TranslationStats()
        stats.datetime = mock.Mock()
        stats.datetime.now.return_value = '2017-12-25 00:00:01.000000'

        expected = textwrap.dedent("""
        ================================================================================
        ===                           Untranslated Strings                           ===
        ================================================================================
        ===                 0 occurrences of 0 untranslated strings                  ===
        ===                        2017-12-25 00:00:01.000000                        ===
        ================================================================================

        ===                      No untranslated strings found.                      ===
        """)
        self.assertIn(expected.strip(), stats.export_untranslated_tracebacks())

        stats.tick(catalog.Message(
            'About',
            None,
        ), 'ga', 'en')
        stats.add_untagged({
            '/content/pages/test.yaml': 'About',
        })
        expected = textwrap.dedent("""
        ================================================================================
        ===                           Untranslated Strings                           ===
        ================================================================================
        ===                 1 occurrences of 1 untranslated strings                  ===
        ===                        2017-12-25 00:00:01.000000                        ===
        ================================================================================

        ga :: About
        """)
        self.assertIn(expected.strip(), stats.export_untranslated_tracebacks())
Пример #9
0
    def test_pretty_print(self):
        lines, logger = self._mock_log()
        try:
            stats = translation_stats.TranslationStats()
            # Stub out the logging.
            stats.log = logger
            stats.tick(catalog.Message(
                'About',
                None,
            ), 'ga', 'en')
            stats.add_untagged({
                '/content/pages/test.yaml': 'About',
            })
            stats.pretty_print()
            expected = textwrap.dedent("""
            ==============================================
            ga       1   About
            """)
            expected = 'Locale   #   Untagged and Untranslated Message ' + expected
            self.assertIn(expected.strip(), lines.getvalue())

            expected = textwrap.dedent("""
            =================================
            ga       1   About
            """)
            expected = 'Locale   #   Untranslated Message ' + expected
            self.assertIn(expected.strip(), lines.getvalue())

            expected = textwrap.dedent("""
            =====================
            ga                  1
            """)
            expected = 'Locale   Untranslated ' + expected
            self.assertIn(expected.strip(), lines.getvalue())
        finally:
            lines.close()
Пример #10
0
 def translation_stats(self):
     return translation_stats.TranslationStats()