]> kaliko git repositories - mpd-sima.git/blobdiff - tests/test_meta.py
Add Meta properties to expose serialized strings
[mpd-sima.git] / tests / test_meta.py
index a615a18e84279034f7dc574fc61502c78af9056a..ed241cf1a04f85f9c2ee4db53d1ad148a1f3ef1d 100644 (file)
@@ -2,7 +2,7 @@
 
 import unittest
 
-from sima.lib.meta import Meta, Artist, MetaContainer, is_uuid4
+from sima.lib.meta import Meta, Artist, Album, MetaContainer, is_uuid4
 from sima.lib.meta import MetaException, SEPARATOR
 
 VALID = '110e8100-e29b-41d1-a716-116655250000'
@@ -102,6 +102,22 @@ class TestMetaObject(unittest.TestCase):
         art10._Meta__mbid = None
         self.assertTrue(art01 == art10, 'wrong: %r != %r' % (art00, art01))
 
+    def test_mpd_serialization(self):
+        """Controls serialization of names"""
+        name = "Heaven's Door"
+        heavens_door = Meta(name=name)
+        target = r"Heaven\'s Door"
+        self.assertEqual(heavens_door.name_sz, target)
+        self.assertEqual(heavens_door.name, name)
+        self.assertEqual(heavens_door.names_sz, {target})
+        heavens_door.add_alias(name+" LP")
+        self.assertEqual(heavens_door.aliases_sz, {target+" LP"})
+        # Controls inheritance
+        heavens_door = Album(name=name)
+        self.assertEqual(heavens_door.name_sz, target)
+        heavens_door = Artist(name=name)
+        self.assertEqual(heavens_door.name_sz, target)
+
 
 class TestArtistObject(unittest.TestCase):