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.
This commit is contained in:
Damien George 2016-04-26 10:19:04 +01:00
parent 23df4b08fb
commit 07615d9f7e
3 changed files with 22 additions and 10 deletions

View File

@ -19,16 +19,6 @@ r = re.compile(" +")
s = r.split("a b c foobar", 2) s = r.split("a b c foobar", 2)
print(s) 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]+") r = re.compile("[a-f]+")
s = r.split("0a3b9") s = r.split("0a3b9")
print(s) print(s)

View File

@ -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)

View File

@ -0,0 +1,3 @@
['a b c foobar']
['foo']
['axbc']