diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_plistlib.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_plistlib.py Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,192 @@
+# Copyright (C) 2003 Python Software Foundation
+
+import unittest
+import plistlib
+import os
+import datetime
+from test import test_support
+
+
+# This test data was generated through Cocoa's NSDictionary class
+TESTDATA = """
+
+
+
+ aDate
+ 2004-10-26T10:33:33Z
+ aDict
+
+ aFalseValue
+
+ aTrueValue
+
+ aUnicodeValue
+ M\xc3\xa4ssig, Ma\xc3\x9f
+ anotherString
+ <hello & 'hi' there!>
+ deeperDict
+
+ a
+ 17
+ b
+ 32.5
+ c
+
+ 1
+ 2
+ text
+
+
+
+ aFloat
+ 0.5
+ aList
+
+ A
+ B
+ 12
+ 32.5
+
+ 1
+ 2
+ 3
+
+
+ aString
+ Doodah
+ anInt
+ 728
+ nestedData
+
+
+ PGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBndW5r
+ PgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmluYXJ5
+ IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBvZiBi
+ aW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxsb3Rz
+ IG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQID
+ PGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAw==
+
+
+ someData
+
+ PGJpbmFyeSBndW5rPg==
+
+ someMoreData
+
+ PGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBndW5rPgABAgM8
+ bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAzxs
+ b3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDPGxv
+ dHMgb2YgYmluYXJ5IGd1bms+AAECAzxsb3RzIG9mIGJpbmFyeSBndW5rPgABAgM8bG90
+ cyBvZiBiaW5hcnkgZ3Vuaz4AAQIDPGxvdHMgb2YgYmluYXJ5IGd1bms+AAECAw==
+
+ \xc3\x85benraa
+ That was a unicode key.
+
+
+""".replace(" " * 8, "\t") # Apple as well as plistlib.py output hard tabs
+
+
+class TestPlistlib(unittest.TestCase):
+
+ def tearDown(self):
+ try:
+ os.unlink(test_support.TESTFN)
+ except:
+ pass
+
+ def _create(self):
+ pl = dict(
+ aString="Doodah",
+ aList=["A", "B", 12, 32.5, [1, 2, 3]],
+ aFloat = 0.5,
+ anInt = 728,
+ aDict=dict(
+ anotherString="",
+ aUnicodeValue=u'M\xe4ssig, Ma\xdf',
+ aTrueValue=True,
+ aFalseValue=False,
+ deeperDict=dict(a=17, b=32.5, c=[1, 2, "text"]),
+ ),
+ someData = plistlib.Data(""),
+ someMoreData = plistlib.Data("\0\1\2\3" * 10),
+ nestedData = [plistlib.Data("\0\1\2\3" * 10)],
+ aDate = datetime.datetime(2004, 10, 26, 10, 33, 33),
+ )
+ pl[u'\xc5benraa'] = "That was a unicode key."
+ 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()
+ plistlib.writePlist(pl, test_support.TESTFN)
+ pl2 = plistlib.readPlist(test_support.TESTFN)
+ self.assertEqual(dict(pl), dict(pl2))
+
+ def test_string(self):
+ pl = self._create()
+ data = plistlib.writePlistToString(pl)
+ pl2 = plistlib.readPlistFromString(data)
+ self.assertEqual(dict(pl), dict(pl2))
+ data2 = plistlib.writePlistToString(pl2)
+ self.assertEqual(data, data2)
+
+ def test_appleformatting(self):
+ pl = plistlib.readPlistFromString(TESTDATA)
+ data = plistlib.writePlistToString(pl)
+ self.assertEqual(data, TESTDATA,
+ "generated data was not identical to Apple's output")
+
+ def test_appleformattingfromliteral(self):
+ pl = self._create()
+ pl2 = plistlib.readPlistFromString(TESTDATA)
+ self.assertEqual(dict(pl), dict(pl2),
+ "generated data was not identical to Apple's output")
+
+ def test_stringio(self):
+ from StringIO import StringIO
+ f = StringIO()
+ pl = self._create()
+ plistlib.writePlist(pl, f)
+ pl2 = plistlib.readPlist(StringIO(f.getvalue()))
+ self.assertEqual(dict(pl), dict(pl2))
+
+ def test_cstringio(self):
+ from cStringIO import StringIO
+ f = StringIO()
+ pl = self._create()
+ plistlib.writePlist(pl, f)
+ pl2 = plistlib.readPlist(StringIO(f.getvalue()))
+ self.assertEqual(dict(pl), dict(pl2))
+
+ def test_controlcharacters(self):
+ for i in range(128):
+ c = chr(i)
+ testString = "string containing %s" % c
+ if i >= 32 or c in "\r\n\t":
+ # \r, \n and \t are the only legal control chars in XML
+ plistlib.writePlistToString(testString)
+ else:
+ self.assertRaises(ValueError,
+ plistlib.writePlistToString,
+ testString)
+
+ def test_nondictroot(self):
+ test1 = "abc"
+ test2 = [1, 2, 3, "abc"]
+ result1 = plistlib.readPlistFromString(plistlib.writePlistToString(test1))
+ result2 = plistlib.readPlistFromString(plistlib.writePlistToString(test2))
+ self.assertEqual(test1, result1)
+ self.assertEqual(test2, result2)
+
+
+def test_main():
+ test_support.run_unittest(TestPlistlib)
+
+
+if __name__ == '__main__':
+ test_main()