コード例 #1
0
ファイル: test_subtitles.py プロジェクト: metanerd/unisubs
 def test_fields(self):
     serializer_data = self.get_serializer_data()
     assert_equal(serializer_data['id'], self.language.id)
     assert_equal(serializer_data['created'],
                  format_datetime_field(self.language.created))
     assert_equal(serializer_data['is_original'], True)
     assert_equal(serializer_data['is_primary_audio_language'], True)
     assert_equal(serializer_data['is_rtl'], self.language.is_rtl())
     assert_equal(serializer_data['published'],
                  self.language.has_public_version())
     assert_equal(serializer_data['language_code'],
                  self.language.language_code)
     assert_equal(serializer_data['name'],
                  self.language.get_language_code_display())
     assert_equal(serializer_data['title'], self.language.get_title())
     assert_equal(serializer_data['description'],
                  self.language.get_description())
     assert_equal(serializer_data['metadata'],
                  self.language.get_metadata())
     assert_equal(serializer_data['subtitle_count'],
                  self.language.get_subtitle_count())
     assert_equal(serializer_data['subtitles_complete'],
                  self.language.subtitles_complete)
     assert_equal(serializer_data['is_translation'],
                  compat.subtitlelanguage_is_translation(self.language))
     assert_equal(
         serializer_data['original_language_code'],
         compat.subtitlelanguage_original_language_code(self.language))
     assert_equal(serializer_data['resource_uri'],
                  reverse('api:subtitle-language-detail', kwargs={
                          'video_id': self.video.video_id,
                          'language_code': self.language.language_code,
                  }, request=APIRequestFactory().get("/")))
コード例 #2
0
    def test_subtitlelanguage_is_translation(self):
        # en fr
        #  2
        #  | 1
        #  |/
        #  1
        e1 = self.sl_en.add_version()
        f1 = self.sl_fr.add_version(parents=[e1])
        e2 = self.sl_en.add_version()

        self.assertFalse(subtitlelanguage_is_translation(self.sl_en))
        self.assertTrue(subtitlelanguage_is_translation(self.sl_fr))
        self.assertFalse(subtitlelanguage_is_translation(self.sl_de))

        # en fr
        #    2
        #  2 |
        #  | 1
        #  |/
        #  1
        f2 = self.sl_fr.add_version()

        self.assertFalse(subtitlelanguage_is_translation(self.sl_en))
        self.assertTrue(subtitlelanguage_is_translation(self.sl_fr))
        self.assertFalse(subtitlelanguage_is_translation(self.sl_de))

        # en fr de
        #       1
        #    2
        #  2 |
        #  | 1
        #  |/
        #  1
        d1 = self.sl_de.add_version()

        self.sl_de.clear_tip_cache()
        self.assertFalse(subtitlelanguage_is_translation(self.sl_de))

        # en fr de
        #       2
        #      /|
        #     / 1
        #    2
        #  2 |
        #  | 1
        #  |/
        #  1
        d2 = self.sl_de.add_version(parents=[f2])

        self.sl_de.clear_tip_cache()
        self.assertTrue(subtitlelanguage_is_translation(self.sl_de))

        # Deleting the *source* of a translation shouldn't change the fact that
        # a language is a translation.

        # en fr de
        #       2
        #      /|
        #     / 1
        #    X
        #  2 |
        #  | 1
        #  |/
        #  1
        f2.visibility_override = 'deleted'
        f2.save()

        self.sl_de.clear_tip_cache()
        self.assertTrue(subtitlelanguage_is_translation(self.sl_de))

        # But deleting the version that makes a language a translation should.
        # I think.  This is really hard.
        d2.visibility_override = 'deleted'
        d2.save()

        self.sl_de.clear_tip_cache()
        self.assertFalse(subtitlelanguage_is_translation(self.sl_de))

        # Shut up, Pyflakes.
        assert e1 and f1 and e2 and f2 and d1 and d2
コード例 #3
0
ファイル: subtitles.py プロジェクト: norayr/unisubs
 def get_is_translation(self, language):
     return compat.subtitlelanguage_is_translation(language)