Exemplo n.º 1
0
 def test_read(self):
     s = EncodedTextSpec('name')
     f = Frame()
     f.encoding = 0
     header = ID3Header()
     header.version = (2, 4, 0)
     self.assertEquals((u'abcd', b'fg'), s.read(header, f, b'abcd\x00fg'))
Exemplo n.º 2
0
    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"")
Exemplo n.º 3
0
    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))
Exemplo n.º 4
0
    def test_read__ignore_CRM(self):
        tags = ID3Tags()
        header = ID3Header()
        header.version = ID3Header._V22

        framedata = CRM(owner="foo", desc="bar", data=b"bla")._writeData()
        datasize = BitPaddedInt.to_str(len(framedata), width=3, bits=8)
        tags._read(header, b"CRM" + datasize + framedata)
        self.assertEqual(len(tags), 0)
Exemplo n.º 5
0
 def test_read(self):
     s = TimeStampSpec('name')
     f = Frame()
     f.encoding = 0
     header = ID3Header()
     header.version = (2, 4, 0)
     self.assertEquals((ID3TimeStamp('ab'), b'fg'),
                       s.read(header, f, b'ab\x00fg'))
     self.assertEquals((ID3TimeStamp('1234'), b''),
                       s.read(header, f, b'1234\x00'))
Exemplo n.º 6
0
    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"])
Exemplo n.º 7
0
    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"])
Exemplo n.º 8
0
 def test_header_2_3_extended(self):
     fileobj = cBytesIO(b'ID3\x03\x00\x40\x00\x00\x00\x00\x00\x00\x00\x06'
                        b'\x00\x00\x56\x78\x9a\xbc')
     header = ID3Header(fileobj)
     self.assertEquals(header._extdata, b'\x00\x00\x56\x78\x9a\xbc')
Exemplo n.º 9
0
 def test_header_2_4_extended_but_not(self):
     fileobj = cBytesIO(
         b'ID3\x04\x00\x40\x00\x00\x00\x00TIT1\x00\x00\x00\x01a')
     header = ID3Header(fileobj)
     self.assertEquals(header._extdata, b'')
Exemplo n.º 10
0
 def test_header_2_4_extended(self):
     fileobj = cBytesIO(
         b'ID3\x04\x00\x40\x00\x00\x00\x00\x00\x00\x00\x05\x5a')
     header = ID3Header(fileobj)
     self.assertEquals(header._extdata, b'\x5a')
Exemplo n.º 11
0
 def test_header_2_2(self):
     fileobj = cBytesIO(b'ID3\x02\x00\x00\x00\x00\x00\x00')
     header = ID3Header(fileobj)
     self.assertEquals(header.version, (2, 2, 0))
Exemplo n.º 12
0
 def test_header_2_4_allow_footer(self):
     fileobj = cBytesIO(b'ID3\x04\x00\x10\x00\x00\x00\x00')
     self.assertTrue(ID3Header(fileobj).f_footer)
Exemplo n.º 13
0
 def test_header_silence(self):
     with open(self.silence, 'rb') as fileobj:
         header = ID3Header(fileobj)
     self.assertEquals(header.version, (2, 3, 0))
     self.assertEquals(header.size, 1314)