def test_read_empty(self): header = ID3Header() header.version = (2, 4, 0) spec = ID3FramesSpec("name") value, data = spec.read(header, None, b"") self.assertEqual(data, b"") self.assertTrue(isinstance(value, ID3Tags))
def test_write_empty(self): header = ID3Header() header.version = (2, 4, 0) spec = ID3FramesSpec("name") config = ID3SaveConfig() tags = ID3Tags() self.assertEqual(spec.write(config, None, tags), b"")
def test_write_tit3_v23(self): spec = ID3FramesSpec("name") config = ID3SaveConfig(3, "/") tags = ID3Tags() tags.add(TIT3(encoding=3, text=[u"F", u"B"])) self.assertEqual( spec.write(config, None, tags), b"TIT3" + b"\x00\x00\x00\x0B" + b"\x00\x00" + b"\x01" + b"\xff\xfeF\x00/\x00B\x00\x00\x00")
def test_validate(self): header = ID3Header() header.version = (2, 4, 0) spec = ID3FramesSpec("name") self.assertRaises(TypeError, spec.validate, None, None) self.assertTrue(isinstance(spec.validate(None, []), ID3Tags)) v = spec.validate(None, [TIT3(encoding=3, text=[u"foo"])]) self.assertEqual(v.getall("TIT3")[0].text, [u"foo"])
def test_read_tit3(self): header = ID3Header() header.version = (2, 4, 0) spec = ID3FramesSpec("name") value, data = spec.read(header, None, b"TIT3" + b"\x00\x00\x00\x03" + b"\x00\x00" + b"\x03" + b"F\x00") self.assertTrue(isinstance(value, ID3Tags)) self.assertEqual(data, b"") frames = value.getall("TIT3") self.assertEqual(len(frames), 1) self.assertEqual(frames[0].encoding, 3) self.assertEqual(frames[0].text, [u"F"])