|
3 | 3 | import pickle
|
4 | 4 |
|
5 | 5 | from mutagen import MutagenError
|
6 |
| -from mutagen.id3 import ID3FileType, ID3, RVA2, CHAP, TDRC, CTOC, TSO2 |
| 6 | +from mutagen.id3 import ID3FileType, ID3, RVA2, CHAP, TDRC, CTOC, TSO2, TXXX |
7 | 7 | from mutagen.easyid3 import EasyID3, error as ID3Error
|
8 | 8 |
|
9 | 9 | from tests import TestCase, DATA_DIR, get_temp_copy
|
@@ -434,3 +434,39 @@ def test_albumartistsort(self):
|
434 | 434 | self.id3.save(self.filename)
|
435 | 435 | id3 = EasyID3(self.filename)
|
436 | 436 | self.failUnlessEqual(id3["albumartistsort"], [u"someartist"])
|
| 437 | + |
| 438 | + self.id3["albumartistsort"] = [u"otherartist"] |
| 439 | + self.assertEqual(self.realid3["TSO2"], [u"otherartist"]) |
| 440 | + |
| 441 | + del self.id3["albumartistsort"] |
| 442 | + self.assertEqual(len(self.id3), 0) |
| 443 | + |
| 444 | + def test_albumartistsort_from_TXXX(self): |
| 445 | + self.realid3.add(TXXX(desc="ALBUMARTISTSORT", text=u"someartist")) |
| 446 | + self.id3.save(self.filename) |
| 447 | + id3 = EasyID3(self.filename) |
| 448 | + self.failUnlessEqual(id3["albumartistsort"], [u"someartist"]) |
| 449 | + |
| 450 | + self.id3["albumartistsort"] = [u"otherartist"] |
| 451 | + self.assertEqual(self.realid3["TSO2"], [u"otherartist"]) |
| 452 | + |
| 453 | + del self.id3["albumartistsort"] |
| 454 | + self.assertEqual(len(self.id3), 0) |
| 455 | + |
| 456 | + def test_albumartistsort_with_both_frames(self): |
| 457 | + self.realid3.add(TSO2(text=u"someartist")) |
| 458 | + self.realid3.add(TXXX(desc="ALBUMARTISTSORT", text=u"someotherartist")) |
| 459 | + self.id3.save(self.filename) |
| 460 | + id3 = EasyID3(self.filename) |
| 461 | + self.failUnlessEqual(id3["albumartistsort"], [u"someartist"]) |
| 462 | + self.assertEqual(len(self.id3), 1) |
| 463 | + self.assertEqual(len(self.realid3), 2) |
| 464 | + |
| 465 | + self.id3["albumartistsort"] = [u"otherartist"] |
| 466 | + self.assertEqual(self.realid3["TSO2"], [u"otherartist"]) |
| 467 | + |
| 468 | + del self.id3["albumartistsort"] |
| 469 | + self.assertEqual(len(self.id3), 0) |
| 470 | + self.assertEqual(len(self.realid3), 0) |
| 471 | + |
| 472 | + self.failUnlessRaises(KeyError, self.id3.__delitem__, "albumartistsort") |
0 commit comments