Update version number and release date.
[python/dscho.git] / Lib / test / test_plistlib.py
blob75cd45717423baf67625c38b63ca33bcaa1ceffd
1 # Copyright (C) 2003 Python Software Foundation
3 import unittest
4 import plistlib
5 import os
6 from test import test_support
8 class TestPlistlib(unittest.TestCase):
10 def tearDown(self):
11 try:
12 os.unlink(test_support.TESTFN)
13 except:
14 pass
16 def _create(self):
17 pl = plistlib.Plist(
18 aString="Doodah",
19 aList=["A", "B", 12, 32.1, [1, 2, 3]],
20 aFloat = 0.1,
21 anInt = 728,
22 aDict=plistlib.Dict(
23 anotherString="<hello & hi there!>",
24 aUnicodeValue=u'M\xe4ssig, Ma\xdf',
25 aTrueValue=True,
26 aFalseValue=False,
28 someData = plistlib.Data("<binary gunk>"),
29 someMoreData = plistlib.Data("<lots of binary gunk>" * 10),
31 pl['anotherInt'] = 42
32 try:
33 from xml.utils.iso8601 import parse
34 import time
35 except ImportError:
36 pass
37 else:
38 pl['aDate'] = plistlib.Date(time.mktime(time.gmtime()))
39 return pl
41 def test_create(self):
42 pl = self._create()
43 self.assertEqual(pl["aString"], "Doodah")
44 self.assertEqual(pl["aDict"]["aFalseValue"], False)
46 def test_io(self):
47 pl = self._create()
48 pl.write(test_support.TESTFN)
49 pl2 = plistlib.Plist.fromFile(test_support.TESTFN)
50 self.assertEqual(dict(pl), dict(pl2))
54 def test_main():
55 test_support.run_unittest(TestPlistlib)
58 if __name__ == '__main__':
59 test_main()