示例#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'))
示例#2
0
    def test_write(self):
        s = SynchronizedTextSpec('name')
        f = Frame()

        values = [(u"A", 100), (u"\xe4xy", 0), (u"", 42), (u"", 0)]

        # utf-16
        f.encoding = 1
        self.assertEqual(s.read(None, f, s.write(None, f, values)),
                         (values, b""))
        data = s.write(None, f, [(u"A", 100)])
        self.assertEquals(data, b"\xff\xfeA\x00\x00\x00\x00\x00\x00d")

        # utf-16be
        f.encoding = 2
        self.assertEqual(s.read(None, f, s.write(None, f, values)),
                         (values, b""))
        self.assertEquals(s.write(None, f, [(u"A", 100)]),
                          b"\x00A\x00\x00\x00\x00\x00d")

        # utf-8
        f.encoding = 3
        self.assertEqual(s.read(None, f, s.write(None, f, values)),
                         (values, b""))
        self.assertEquals(s.write(None, f, [(u"A", 100)]),
                          b"A\x00\x00\x00\x00d")
示例#3
0
 def test_read(self):
     s = TimeStampSpec('name')
     f = Frame()
     f.encoding = 0
     self.assertEquals((ID3TimeStamp('ab'), b'fg'),
                       s.read(None, f, b'ab\x00fg'))
     self.assertEquals((ID3TimeStamp('1234'), b''),
                       s.read(None, f, b'1234\x00'))
示例#4
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'))
示例#5
0
 def test_write(self):
     s = EncodedTextSpec('name')
     f = Frame()
     f.encoding = 0
     self.assertEquals(b'abcdefg\x00', s.write(None, f, u'abcdefg'))
     self.assertRaises(AttributeError, s.write, None, f, None)
示例#6
0
 def test_write(self):
     s = TimeStampSpec('name')
     f = Frame()
     f.encoding = 0
     self.assertEquals(b'1234\x00', s.write(None, f, ID3TimeStamp('1234')))
     self.assertRaises(AttributeError, s.write, None, f, None)
示例#7
0
 def test_read(self):
     s = EncodedTextSpec('name')
     f = Frame()
     f.encoding = 0
     self.assertEquals((u'abcd', b'fg'), s.read(None, f, b'abcd\x00fg'))