diff --git a/src/testsuite.in b/src/testsuite.in index a2a798e7c4d7beffa3dc56210494460b3833b92a..441c20ec2382217b3eb0ab5766cea6b55c94918e 100644 --- a/src/testsuite.in +++ b/src/testsuite.in @@ -315,6 +315,23 @@ test_compile_any([[ } ]]) +define(test_string_range,[[ + test_any([[ + string s = (string) ({ $1, $1 }); + if (!arrayp(String.range(s))) return "huh?"; // dont optimize this, it forces string range check + return search(s, $1); + ]], 0) +]]) + +test_string_range(254); +test_string_range(255); +test_string_range((1<<16)-1); +test_string_range((1<<16)+1); +test_string_range((1<<29)-1); +test_string_range((1<<29)+1); +test_string_range((1<<31)-1); +test_string_range(-(1<<31)); + dnl number of variables/scope, number of scopes, expect_compiler_error define(test_scopes,[[ test_any([[