From 07615d9f7ea69d47a27566d43a31fb40e8745470 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 26 Apr 2016 10:19:04 +0100 Subject: [PATCH] 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. --- tests/extmod/ure_split.py | 10 ---------- tests/extmod/ure_split_empty.py | 19 +++++++++++++++++++ tests/extmod/ure_split_empty.py.exp | 3 +++ 3 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 tests/extmod/ure_split_empty.py create mode 100644 tests/extmod/ure_split_empty.py.exp diff --git a/tests/extmod/ure_split.py b/tests/extmod/ure_split.py index 3f7718813..620fd9052 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 000000000..6f31e6dc6 --- /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 000000000..42cfea0d5 --- /dev/null +++ b/tests/extmod/ure_split_empty.py.exp @@ -0,0 +1,3 @@ +['a b c foobar'] +['foo'] +['axbc']