Fix the availability statement for the spawn*() functions to reflect the
[python/dscho.git] / Lib / test / test_file.py
blob931e33db36ea114648a42d949bdf8c30d349356a
1 import os
3 from test_support import verify, TESTFN
4 from UserList import UserList
6 # verify writelines with instance sequence
7 l = UserList(['1', '2'])
8 f = open(TESTFN, 'wb')
9 f.writelines(l)
10 f.close()
11 f = open(TESTFN, 'rb')
12 buf = f.read()
13 f.close()
14 verify(buf == '12')
16 # verify writelines with integers
17 f = open(TESTFN, 'wb')
18 try:
19 f.writelines([1, 2, 3])
20 except TypeError:
21 pass
22 else:
23 print "writelines accepted sequence of integers"
24 f.close()
26 # verify writelines with integers in UserList
27 f = open(TESTFN, 'wb')
28 l = UserList([1,2,3])
29 try:
30 f.writelines(l)
31 except TypeError:
32 pass
33 else:
34 print "writelines accepted sequence of integers"
35 f.close()
37 # verify writelines with non-string object
38 class NonString: pass
40 f = open(TESTFN, 'wb')
41 try:
42 f.writelines([NonString(), NonString()])
43 except TypeError:
44 pass
45 else:
46 print "writelines accepted sequence of non-string objects"
47 f.close()
49 # verify that we get a sensible error message for bad mode argument
50 bad_mode = "qwerty"
51 try:
52 open(TESTFN, bad_mode)
53 except IOError, msg:
54 if msg[0] != 0:
55 s = str(msg)
56 if s.find(TESTFN) != -1 or s.find(bad_mode) == -1:
57 print "bad error message for invalid mode: %s" % s
58 # if msg[0] == 0, we're probably on Windows where there may be
59 # no obvious way to discover why open() failed.
60 else:
61 print "no error for invalid mode: %s" % bad_mode
63 os.unlink(TESTFN)