summaryrefslogtreecommitdiff
path: root/tests/basics/io_stringio1.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/io_stringio1.py')
-rw-r--r--tests/basics/io_stringio1.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/basics/io_stringio1.py b/tests/basics/io_stringio1.py
new file mode 100644
index 000000000..9f7c1e44e
--- /dev/null
+++ b/tests/basics/io_stringio1.py
@@ -0,0 +1,45 @@
+try:
+ import uio as io
+except ImportError:
+ import io
+
+a = io.StringIO()
+print('io.StringIO' in repr(a))
+print(a.getvalue())
+print(a.read())
+
+a = io.StringIO("foobar")
+print(a.getvalue())
+print(a.read())
+print(a.read())
+
+a = io.StringIO()
+a.write("foo")
+print(a.getvalue())
+
+a = io.StringIO("foo")
+a.write("12")
+print(a.getvalue())
+
+a = io.StringIO("foo")
+a.write("123")
+print(a.getvalue())
+
+a = io.StringIO("foo")
+a.write("1234")
+print(a.getvalue())
+
+a = io.StringIO()
+a.write("foo")
+print(a.read())
+
+a = io.StringIO()
+a.close()
+for f in [a.read, a.getvalue, lambda:a.write("")]:
+ # CPython throws for operations on closed I/O, MicroPython makes
+ # the underlying string empty unless MICROPY_CPYTHON_COMPAT defined
+ try:
+ f()
+ print("ValueError")
+ except ValueError:
+ print("ValueError")