home *** CD-ROM | disk | FTP | other *** search
- # 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_stringio(self):
- from StringIO import StringIO
- f = StringIO()
- pl = self._create()
- pl.write(f)
- pl2 = plistlib.Plist.fromFile(StringIO(f.getvalue()))
- self.assertEqual(dict(pl), dict(pl2))
-
- def test_cstringio(self):
- from cStringIO import StringIO
- f = StringIO()
- pl = self._create()
- pl.write(f)
- pl2 = plistlib.Plist.fromFile(StringIO(f.getvalue()))
- self.assertEqual(dict(pl), dict(pl2))
-
-
-
- def test_main():
- test_support.run_unittest(TestPlistlib)
-
-
- if __name__ == '__main__':
- test_main()
-