summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_codecs.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
new file mode 100644
index 0000000..6d9e31d
--- /dev/null
+++ b/Lib/test/test_codecs.py
@@ -0,0 +1,25 @@
+import test_support,unittest
+import codecs
+import StringIO
+
+class UTF16Test(unittest.TestCase):
+
+ spamle = '\xff\xfes\x00p\x00a\x00m\x00s\x00p\x00a\x00m\x00'
+ spambe = '\xfe\xff\x00s\x00p\x00a\x00m\x00s\x00p\x00a\x00m'
+
+ def test_only_one_bom(self):
+ _,_,reader,writer = codecs.lookup("utf-16")
+ # encode some stream
+ s = StringIO.StringIO()
+ f = writer(s)
+ f.write(u"spam")
+ f.write(u"spam")
+ d = s.getvalue()
+ # check whether there is exactly one BOM in it
+ self.assert_(d == self.spamle or d == self.spambe)
+ # try to read it back
+ s = StringIO.StringIO(d)
+ f = reader(s)
+ self.assertEquals(f.read(), u"spamspam")
+
+test_support.run_unittest(UTF16Test)