summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--py/objstr.c4
-rw-r--r--tests/misc/non_compliant.py6
-rw-r--r--tests/misc/non_compliant.py.exp1
3 files changed, 10 insertions, 1 deletions
diff --git a/py/objstr.c b/py/objstr.c
index 274e76daaa..704fa07e1d 100644
--- a/py/objstr.c
+++ b/py/objstr.c
@@ -699,7 +699,9 @@ STATIC mp_obj_t str_startswith(mp_uint_t n_args, const mp_obj_t *args) {
STATIC mp_obj_t str_endswith(mp_uint_t n_args, const mp_obj_t *args) {
GET_STR_DATA_LEN(args[0], str, str_len);
GET_STR_DATA_LEN(args[1], suffix, suffix_len);
- assert(n_args == 2);
+ if (n_args > 2) {
+ mp_not_implemented("start/end indices");
+ }
if (suffix_len > str_len) {
return mp_const_false;
diff --git a/tests/misc/non_compliant.py b/tests/misc/non_compliant.py
index 09abac2388..de84579067 100644
--- a/tests/misc/non_compliant.py
+++ b/tests/misc/non_compliant.py
@@ -52,6 +52,12 @@ try:
except NotImplementedError:
print('NotImplementedError')
+# str.endswith(s, start) not implemented
+try:
+ 'abc'.endswith('c', 1)
+except NotImplementedError:
+ print('NotImplementedError')
+
# bytes(...) with keywords not implemented
try:
bytes('abc', encoding='utf8')
diff --git a/tests/misc/non_compliant.py.exp b/tests/misc/non_compliant.py.exp
index 9278034aa4..28b1470d7c 100644
--- a/tests/misc/non_compliant.py.exp
+++ b/tests/misc/non_compliant.py.exp
@@ -8,3 +8,4 @@ NotImplementedError
NotImplementedError
NotImplementedError
NotImplementedError
+NotImplementedError