summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_file.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
new file mode 100644
index 0000000..4ad5c95
--- /dev/null
+++ b/Lib/test/test_file.py
@@ -0,0 +1,45 @@
+from test_support import TESTFN
+from UserList import UserList
+
+# verify writelines with instance sequence
+l = UserList(['1', '2'])
+f = open(TESTFN, 'wb')
+f.writelines(l)
+f.close()
+f = open(TESTFN, 'rb')
+buf = f.read()
+f.close()
+assert buf == '12'
+
+# verify writelines with integers
+f = open(TESTFN, 'wb')
+try:
+ f.writelines([1, 2, 3])
+except TypeError:
+ pass
+else:
+ print "writelines accepted sequence of integers"
+f.close()
+
+# verify writelines with integers in UserList
+f = open(TESTFN, 'wb')
+l = UserList([1,2,3])
+try:
+ f.writelines(l)
+except TypeError:
+ pass
+else:
+ print "writelines accepted sequence of integers"
+f.close()
+
+# verify writelines with non-string object
+class NonString: pass
+
+f = open(TESTFN, 'wb')
+try:
+ f.writelines([NonString(), NonString()])
+except TypeError:
+ pass
+else:
+ print "writelines accepted sequence of non-string objects"
+f.close()