summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_plistlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_plistlib.py')
-rw-r--r--Lib/test/test_plistlib.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py
new file mode 100644
index 0000000..bf070c7
--- /dev/null
+++ b/Lib/test/test_plistlib.py
@@ -0,0 +1,59 @@
+# Copyright (C) 2003 Python Software Foundation
+
+import unittest
+import plistlib
+import os
+from test import test_support
+
+class TestPlistlib(unittest.TestCase):
+
+ def tearDown(self):
+ try:
+ os.unlink(test_support.TESTFN)
+ except:
+ pass
+
+ def _create(self):
+ pl = plistlib.Plist(
+ aString="Doodah",
+ aList=["A", "B", 12, 32.1, [1, 2, 3]],
+ aFloat = 0.1,
+ anInt = 728,
+ aDict=plistlib.Dict(
+ anotherString="<hello & hi there!>",
+ aUnicodeValue=u'M\xe4ssig, Ma\xdf',
+ aTrueValue=True,
+ aFalseValue=False,
+ ),
+ someData = plistlib.Data("<binary gunk>"),
+ someMoreData = plistlib.Data("<lots of binary gunk>" * 10),
+ )
+ pl['anotherInt'] = 42
+ try:
+ from xml.utils.iso8601 import parse
+ import time
+ except ImportError:
+ pass
+ else:
+ pl['aDate'] = plistlib.Date(time.mktime(time.gmtime()))
+ return pl
+
+ def test_create(self):
+ pl = self._create()
+ self.assertEqual(pl["aString"], "Doodah")
+ self.assertEqual(pl["aDict"]["aFalseValue"], False)
+
+ def test_io(self):
+ pl = self._create()
+ pl.write(test_support.TESTFN)
+ pl2 = plistlib.Plist.fromFile(test_support.TESTFN)
+ self.assertEqual(dict(pl), dict(pl2))
+
+
+
+def test_main():
+ test_support.run_unittest(TestPlistlib)
+
+
+if __name__ == '__main__':
+ test_main()