File: test_StringIO_jy.py

package info (click to toggle)
jython 2.5.1-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 41,624 kB
  • ctags: 101,579
  • sloc: python: 351,444; java: 204,338; xml: 1,316; sh: 330; ansic: 126; perl: 114; makefile: 94
file content (36 lines) | stat: -rw-r--r-- 1,177 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import unittest
import cStringIO
from test import test_support

class TestUnicodeInput(unittest.TestCase):
    def test_differences_handling_unicode(self):
        # Test for the "feature" described on #1089.
        #
        # Basically, StringIO returns unicode objects if you feed it unicode,
        # but cStringIO don't. This should change in future versions of
        # CPython and Jython.
        self.assertEqual(u'foo', cStringIO.StringIO(u'foo').read())
        self.assertEqual('foo', cStringIO.StringIO(u'foo').read())

class TestWrite(unittest.TestCase):
    def test_write_seek_write(self):
        f = cStringIO.StringIO()
        f.write('hello')
        f.seek(2)
        f.write('hi')
        self.assertEquals(f.getvalue(), 'hehio')

    #XXX: this should get pushed to CPython's test_StringIO
    def test_write_past_end(self):
        f = cStringIO.StringIO()
        f.write("abcdef")
        f.seek(10)
        f.write("uvwxyz")
        self.assertEqual(f.getvalue(), 'abcdef\x00\x00\x00\x00uvwxyz')

def test_main():
    test_support.run_unittest(TestUnicodeInput)
    test_support.run_unittest(TestWrite)

if __name__ == '__main__':
    test_main()