blob: 28d84ce4a63c7e5a233fa8f7735727bf434e93aa [file] [log] [blame]
Marc-André Lemburga37171d2001-06-19 20:09:28 +00001import test_support,unittest
2import codecs
3import StringIO
4
5class UTF16Test(unittest.TestCase):
6
7 spamle = '\xff\xfes\x00p\x00a\x00m\x00s\x00p\x00a\x00m\x00'
8 spambe = '\xfe\xff\x00s\x00p\x00a\x00m\x00s\x00p\x00a\x00m'
9
10 def test_only_one_bom(self):
11 _,_,reader,writer = codecs.lookup("utf-16")
12 # encode some stream
13 s = StringIO.StringIO()
14 f = writer(s)
15 f.write(u"spam")
16 f.write(u"spam")
17 d = s.getvalue()
18 # check whether there is exactly one BOM in it
19 self.assert_(d == self.spamle or d == self.spambe)
20 # try to read it back
21 s = StringIO.StringIO(d)
22 f = reader(s)
23 self.assertEquals(f.read(), u"spamspam")
24
Fred Drake2e2be372001-09-20 21:33:42 +000025
26def test_main():
27 test_support.run_unittest(UTF16Test)
28
29
30if __name__ == "__main__":
31 test_main()