Ejemplo n.º 1
0
 def test_save_large_string(self):
     audio = ASF(self.filename)
     audio["QL/LargeObject"] = [ASFValue("." * 0x7FFF, UNICODE)]
     audio.save()
     self.failIf("QL/LargeObject" in audio.to_extended_content_description)
     self.failIf("QL/LargeObject" in audio.to_metadata)
     self.failIf("QL/LargeObject" not in dict(audio.to_metadata_library))
Ejemplo n.º 2
0
 def test_save_large_bytearray(self):
     audio = ASF(self.filename)
     audio["QL/LargeObject"] = [ASFValue(b"." * (0xFFFF + 1), BYTEARRAY)]
     audio.save()
     self.failIf("QL/LargeObject" in audio.to_extended_content_description)
     self.failIf("QL/LargeObject" in audio.to_metadata)
     self.failIf("QL/LargeObject" not in dict(audio.to_metadata_library))
Ejemplo n.º 3
0
 def test_save_guid(self):
     # https://github.com/quodlibet/mutagen/issues/81
     audio = ASF(self.filename)
     audio["QL/GuidObject"] = [ASFValue(b" " * 16, GUID)]
     audio.save()
     self.failIf("QL/GuidObject" in audio.to_extended_content_description)
     self.failIf("QL/GuidObject" in audio.to_metadata)
     self.failIf("QL/GuidObject" not in dict(audio.to_metadata_library))
Ejemplo n.º 4
0
 def test_save_guid(self):
     # http://code.google.com/p/mutagen/issues/detail?id=81
     audio = ASF(self.filename)
     audio["QL/GuidObject"] = [ASFValue(b" " * 16, GUID)]
     audio.save()
     self.failIf("QL/GuidObject" in audio.to_extended_content_description)
     self.failIf("QL/GuidObject" in audio.to_metadata)
     self.failIf("QL/GuidObject" not in dict(audio.to_metadata_library))
Ejemplo n.º 5
0
 def test_language(self):
     self.audio["QL/OneHasLang"] = [
         ASFValue("Whee", UNICODE, language=2),
         ASFValue("Whee", UNICODE),
     ]
     self.audio["QL/AllHaveLang"] = [
         ASFValue("Whee", UNICODE, language=1),
         ASFValue("Whee", UNICODE, language=2),
     ]
     self.audio["QL/NoLang"] = ASFValue("Whee", UNICODE)
     self.audio.save()
     self.audio = ASF(self.audio.filename)
     self.failUnlessEqual(self.audio["QL/NoLang"][0].language, None)
     self.failUnlessEqual(self.audio["QL/OneHasLang"][0].language, 2)
     self.failUnlessEqual(self.audio["QL/OneHasLang"][1].language, None)
     self.failUnlessEqual(self.audio["QL/AllHaveLang"][0].language, 1)
     self.failUnlessEqual(self.audio["QL/AllHaveLang"][1].language, 2)
Ejemplo n.º 6
0
 def test_lang_and_stream_mix(self):
     self.audio["QL/Mix"] = [
         ASFValue("Whee", UNICODE, stream=1),
         ASFValue("Whee", UNICODE, language=2),
         ASFValue("Whee", UNICODE, stream=3, language=4),
         ASFValue("Whee", UNICODE),
     ]
     self.audio.save()
     self.audio = ASF(self.audio.filename)
     self.failUnlessEqual(self.audio["QL/Mix"][0].language, None)
     self.failUnlessEqual(self.audio["QL/Mix"][0].stream, 1)
     self.failUnlessEqual(self.audio["QL/Mix"][1].language, 2)
     self.failUnlessEqual(self.audio["QL/Mix"][1].stream, 0)
     self.failUnlessEqual(self.audio["QL/Mix"][2].language, 4)
     self.failUnlessEqual(self.audio["QL/Mix"][2].stream, 3)
     self.failUnlessEqual(self.audio["QL/Mix"][3].language, None)
     self.failUnlessEqual(self.audio["QL/Mix"][3].stream, None)
Ejemplo n.º 7
0
 def test_stream(self):
     self.audio["QL/OneHasStream"] = [
         ASFValue("Whee", UNICODE, stream=2),
         ASFValue("Whee", UNICODE),
         ]
     self.audio["QL/AllHaveStream"] = [
         ASFValue("Whee", UNICODE, stream=1),
         ASFValue("Whee", UNICODE, stream=2),
         ]
     self.audio["QL/NoStream"] = ASFValue("Whee", UNICODE)
     self.audio.save()
     self.audio = ASF(self.audio.filename)
     self.failUnlessEqual(self.audio["QL/NoStream"][0].stream, None)
     self.failUnlessEqual(self.audio["QL/OneHasStream"][1].stream, 2)
     self.failUnlessEqual(self.audio["QL/OneHasStream"][0].stream, None)
     self.failUnlessEqual(self.audio["QL/AllHaveStream"][0].stream, 1)
     self.failUnlessEqual(self.audio["QL/AllHaveStream"][1].stream, 2)
Ejemplo n.º 8
0
 def test_lang_and_stream_mix(self):
     self.audio["QL/Mix"] = [
         ASFValue("Whee", UNICODE, stream=1),
         ASFValue("Whee", UNICODE, language=2),
         ASFValue("Whee", UNICODE, stream=3, language=4),
         ASFValue("Whee", UNICODE),
         ]
     self.audio.save()
     self.audio = ASF(self.audio.filename)
     # order not preserved here because they end up in different objects.
     self.failUnlessEqual(self.audio["QL/Mix"][1].language, None)
     self.failUnlessEqual(self.audio["QL/Mix"][1].stream, 1)
     self.failUnlessEqual(self.audio["QL/Mix"][2].language, 2)
     self.failUnlessEqual(self.audio["QL/Mix"][2].stream, 0)
     self.failUnlessEqual(self.audio["QL/Mix"][3].language, 4)
     self.failUnlessEqual(self.audio["QL/Mix"][3].stream, 3)
     self.failUnlessEqual(self.audio["QL/Mix"][0].language, None)
     self.failUnlessEqual(self.audio["QL/Mix"][0].stream, None)
Ejemplo n.º 9
0
 def test_auto_qword(self):
     self.set_key(u"WM/Track", 12,
                  [ASFValue(12, QWORD)])
Ejemplo n.º 10
0
 def test_repr(self):
     repr(ASFValue(u"foo", UNICODE, stream=1, language=2))
Ejemplo n.º 11
0
 def test_auto_guuid(self):
     value = ASFValue(b'\x9eZl}\x89\xa2\xb5D\xb8\xa30\xfe', GUID)
     self.set_key(u"WM/WMCollectionGroupID", value, [value])
Ejemplo n.º 12
0
 def test_data_size(self):
     v = ASFValue("", UNICODE, data=b'4\xd8\x1e\xdd\x00\x00')
     self.failUnlessEqual(v.data_size(), len(v._render()))
Ejemplo n.º 13
0
 def test_auto_bool_list(self):
     self.set_key(u"IsVBR", [True, False],
                  [ASFValue(True, BOOL), ASFValue(False, BOOL)])
Ejemplo n.º 14
0
 def test_auto_bool(self):
     self.set_key(u"IsVBR", True,
                  [ASFValue(True, BOOL)])
Ejemplo n.º 15
0
 def test_auto_qword_list(self):
     self.set_key(u"WM/Track", [12, 13],
                  [ASFValue(12, QWORD), ASFValue(13, QWORD)])
Ejemplo n.º 16
0
 def test_word(self):
     self.set_key(u"WM/Track", ASFValue(24, WORD), [ASFValue(24, WORD)])
Ejemplo n.º 17
0
 def test_auto_unicode_list(self):
     self.set_key(u"WM/AlbumTitle", [u"foo", u"bar"],
                  [ASFValue(u"foo", UNICODE), ASFValue(u"bar", UNICODE)])
Ejemplo n.º 18
0
 def test_auto_unicode(self):
     self.set_key(u"WM/AlbumTitle", u"foo",
                  [ASFValue(u"foo", UNICODE)])
Ejemplo n.º 19
0
 def test_py3_bytes(self):
     if PY3:
         value = ASFValue(b'\xff\x00', BYTEARRAY)
         self.set_key(u"QL/Something", [b'\xff\x00'], [value])