diff options
| author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-08-29 00:06:21 +0300 |
|---|---|---|
| committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-08-29 00:06:21 +0300 |
| commit | 37379a2974190ab0fc97f840112d5a40c907368b (patch) | |
| tree | 7c4d0ce9e82aa58ca8af5198a57f1e3211fb7a82 /tests/basics | |
| parent | c5c095690fc8294068e88c71baca92bf757ad91c (diff) | |
py/objstr: startswith, endswith: Check arg to be a string.
Otherwise, it will silently get incorrect result on other values types,
including CPython tuple form like "foo.png".endswith(("png", "jpg"))
(which MicroPython doesn't support for unbloatedness).
Diffstat (limited to 'tests/basics')
| -rw-r--r-- | tests/basics/string_endswith.py | 5 | ||||
| -rw-r--r-- | tests/basics/string_endswith_upy.py | 6 | ||||
| -rw-r--r-- | tests/basics/string_endswith_upy.py.exp | 1 | ||||
| -rw-r--r-- | tests/basics/string_startswith.py | 5 | ||||
| -rw-r--r-- | tests/basics/string_startswith_upy.py | 6 | ||||
| -rw-r--r-- | tests/basics/string_startswith_upy.py.exp | 1 |
6 files changed, 24 insertions, 0 deletions
diff --git a/tests/basics/string_endswith.py b/tests/basics/string_endswith.py index 3e8fba925..683562d10 100644 --- a/tests/basics/string_endswith.py +++ b/tests/basics/string_endswith.py @@ -10,3 +10,8 @@ print("foobar".endswith("foobarbaz")) #print("1foo".startswith("1foo", 1)) #print("1fo".startswith("foo", 1)) #print("1fo".startswith("foo", 10)) + +try: + "foobar".endswith(1) +except TypeError: + print("TypeError") diff --git a/tests/basics/string_endswith_upy.py b/tests/basics/string_endswith_upy.py new file mode 100644 index 000000000..06a4e71d2 --- /dev/null +++ b/tests/basics/string_endswith_upy.py @@ -0,0 +1,6 @@ +# MicroPython doesn't support tuple argument + +try: + "foobar".endswith(("bar", "sth")) +except TypeError: + print("TypeError") diff --git a/tests/basics/string_endswith_upy.py.exp b/tests/basics/string_endswith_upy.py.exp new file mode 100644 index 000000000..6002b71c5 --- /dev/null +++ b/tests/basics/string_endswith_upy.py.exp @@ -0,0 +1 @@ +TypeError diff --git a/tests/basics/string_startswith.py b/tests/basics/string_startswith.py index 5cf730c03..e63ae3c18 100644 --- a/tests/basics/string_startswith.py +++ b/tests/basics/string_startswith.py @@ -9,3 +9,8 @@ print("1foo".startswith("foo", 1)) print("1foo".startswith("1foo", 1)) print("1fo".startswith("foo", 1)) print("1fo".startswith("foo", 10)) + +try: + "foobar".startswith(1) +except TypeError: + print("TypeError") diff --git a/tests/basics/string_startswith_upy.py b/tests/basics/string_startswith_upy.py new file mode 100644 index 000000000..9ea1796c2 --- /dev/null +++ b/tests/basics/string_startswith_upy.py @@ -0,0 +1,6 @@ +# MicroPython doesn't support tuple argument + +try: + "foobar".startswith(("foo", "sth")) +except TypeError: + print("TypeError") diff --git a/tests/basics/string_startswith_upy.py.exp b/tests/basics/string_startswith_upy.py.exp new file mode 100644 index 000000000..6002b71c5 --- /dev/null +++ b/tests/basics/string_startswith_upy.py.exp @@ -0,0 +1 @@ +TypeError |
