summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-04-26 10:19:04 +0100
committerDamien George <damien.p.george@gmail.com>2016-04-26 10:19:04 +0100
commit07615d9f7ea69d47a27566d43a31fb40e8745470 (patch)
tree9dd09e6586ae6de1c75483663e0fd61431b8f954 /tests
parent23df4b08fba26a6a467186cfcaf0d72cca1122ea (diff)
downloadmicropython-07615d9f7ea69d47a27566d43a31fb40e8745470.tar.gz
micropython-07615d9f7ea69d47a27566d43a31fb40e8745470.zip
tests/extmod: Move split-on-empty-match tests to a separate test file.
And provide an expected-output file because these tests have a different behaviour under CPython.
Diffstat (limited to 'tests')
-rw-r--r--tests/extmod/ure_split.py10
-rw-r--r--tests/extmod/ure_split_empty.py19
-rw-r--r--tests/extmod/ure_split_empty.py.exp3
3 files changed, 22 insertions, 10 deletions
diff --git a/tests/extmod/ure_split.py b/tests/extmod/ure_split.py
index 3f7718813f..620fd9052b 100644
--- a/tests/extmod/ure_split.py
+++ b/tests/extmod/ure_split.py
@@ -19,16 +19,6 @@ r = re.compile(" +")
s = r.split("a b c foobar", 2)
print(s)
-r = re.compile(" *")
-s = r.split("a b c foobar")
-# TODO - no idea how this is supposed to work, per docs, empty match == stop
-# splitting, so CPython code apparently does some dirty magic.
-#print(s)
-
-r = re.compile("x*")
-s = r.split("foo")
-print(s)
-
r = re.compile("[a-f]+")
s = r.split("0a3b9")
print(s)
diff --git a/tests/extmod/ure_split_empty.py b/tests/extmod/ure_split_empty.py
new file mode 100644
index 0000000000..6f31e6dc6c
--- /dev/null
+++ b/tests/extmod/ure_split_empty.py
@@ -0,0 +1,19 @@
+# test splitting with pattern matches that can be empty
+#
+# CPython 3.5 issues a FutureWarning for these tests because their
+# behaviour will change in a future version. MicroPython just stops
+# splitting as soon as an empty match is found.
+
+import ure as re
+
+r = re.compile(" *")
+s = r.split("a b c foobar")
+print(s)
+
+r = re.compile("x*")
+s = r.split("foo")
+print(s)
+
+r = re.compile("x*")
+s = r.split("axbc")
+print(s)
diff --git a/tests/extmod/ure_split_empty.py.exp b/tests/extmod/ure_split_empty.py.exp
new file mode 100644
index 0000000000..42cfea0d5d
--- /dev/null
+++ b/tests/extmod/ure_split_empty.py.exp
@@ -0,0 +1,3 @@
+['a b c foobar']
+['foo']
+['axbc']