summaryrefslogtreecommitdiff
path: root/tests/basics/string_splitlines.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-05-13 12:21:32 +0100
committerDamien George <damien.p.george@gmail.com>2016-05-13 12:21:32 +0100
commitcc80c4dd59d0bdf130277fdb0705c871e1b1afa2 (patch)
tree33aaf04f28cc11d1af212f613390a8cdcd3a833c /tests/basics/string_splitlines.py
parent1e388079f9ff7e24adb4592b3c81aed314f86827 (diff)
py/objstr: Make dedicated splitlines function, supporting diff newlines.
It now supports \n, \r and \r\n as newline separators. Adds 56 bytes to stmhal and 80 bytes to unix x86-64. Fixes issue #1689.
Diffstat (limited to 'tests/basics/string_splitlines.py')
-rw-r--r--tests/basics/string_splitlines.py34
1 files changed, 26 insertions, 8 deletions
diff --git a/tests/basics/string_splitlines.py b/tests/basics/string_splitlines.py
index cb4dacef9..79d22b185 100644
--- a/tests/basics/string_splitlines.py
+++ b/tests/basics/string_splitlines.py
@@ -1,13 +1,31 @@
-try:
- str.splitlines
-except:
- import sys
- print("SKIP")
- sys.exit()
+# test string.splitlines() method
+# test \n as newline
print("foo\nbar".splitlines())
print("foo\nbar\n".splitlines())
+print("foo and\nbar\n".splitlines())
+print("foo\nbar\n\n".splitlines())
+print("foo\n\nbar\n\n".splitlines())
+print("\nfoo\nbar\n".splitlines())
+
+# test \r as newline
+print("foo\rbar\r".splitlines())
+print("\rfoo and\r\rbar\r".splitlines())
+
+# test \r\n as newline
+print("foo\r\nbar\r\n".splitlines())
+print("\r\nfoo and\r\n\r\nbar\r\n".splitlines())
+
+# test keepends arg
print("foo\nbar".splitlines(True))
print("foo\nbar\n".splitlines(True))
-print("foo\nbar".splitlines(keepends=True))
-print("foo\nbar\n".splitlines(keepends=True))
+print("foo\nbar\n\n".splitlines(True))
+print("foo\rbar".splitlines(keepends=True))
+print("foo\rbar\r\r".splitlines(keepends=True))
+print("foo\r\nbar".splitlines(keepends=True))
+print("foo\r\nbar\r\n\r\n".splitlines(keepends=True))
+
+# test splitting bytes objects
+print(b"foo\nbar".splitlines())
+print(b"foo\nbar\n".splitlines())
+print(b"foo\r\nbar\r\n\r\n".splitlines(True))