aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-07-19 16:48:01 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-07-19 16:48:01 -0700
commit4cdda28289211a182df51aaf2c7305d37989c3fc (patch)
tree8f191289a8dc4e87c7cf93ac08b5472e8de0e655 /tests
parenta148e63c4cc952b9f4fbc24bdffffba132c9ef09 (diff)
rewrite strstr to do c-style comparisons, to avoid js regexp search artifacts
Diffstat (limited to 'tests')
-rwxr-xr-xtests/runner.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py
index 156299db..46caef9a 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -3979,6 +3979,64 @@ at function.:blag
'''
self.do_run(src, '0*0*0*0*6*5*4*3*3*9*8')
+ def test_strstr(self):
+ src = r'''
+ #include <stdio.h>
+ #include <string.h>
+
+ int main()
+ {
+ printf("%d\n", !!strstr("\\n", "\\n"));
+ printf("%d\n", !!strstr("cheezy", "ez"));
+ printf("%d\n", !!strstr("cheeezy", "ez"));
+ printf("%d\n", !!strstr("cheeeeeeeeeezy", "ez"));
+ printf("%d\n", !!strstr("cheeeeeeeeee1zy", "ez"));
+ printf("%d\n", !!strstr("che1ezy", "ez"));
+ printf("%d\n", !!strstr("che1ezy", "che"));
+ printf("%d\n", !!strstr("ce1ezy", "che"));
+ printf("%d\n", !!strstr("ce1ezy", "ezy"));
+ printf("%d\n", !!strstr("ce1ezyt", "ezy"));
+ printf("%d\n", !!strstr("ce1ez1y", "ezy"));
+ printf("%d\n", !!strstr("cheezy", "a"));
+ printf("%d\n", !!strstr("cheezy", "b"));
+ printf("%d\n", !!strstr("cheezy", "c"));
+ printf("%d\n", !!strstr("cheezy", "d"));
+ printf("%d\n", !!strstr("cheezy", "g"));
+ printf("%d\n", !!strstr("cheezy", "h"));
+ printf("%d\n", !!strstr("cheezy", "i"));
+ printf("%d\n", !!strstr("cheezy", "e"));
+ printf("%d\n", !!strstr("cheezy", "x"));
+ printf("%d\n", !!strstr("cheezy", "y"));
+ printf("%d\n", !!strstr("cheezy", "z"));
+ printf("%d\n", !!strstr("cheezy", "_"));
+ return 0;
+ }
+ '''
+ self.do_run(src, '''1
+1
+1
+1
+0
+1
+1
+0
+1
+1
+0
+0
+0
+1
+0
+0
+1
+0
+1
+0
+1
+1
+0
+''')
+
def test_sscanf(self):
src = r'''
#include <stdio.h>