commit e91a381ef9f1feecbd2c898e4dbddc263e986697
parent 590e37060ca6c5af2498d5f38feb546263d7b4b7
Author: Ben Noordhuis <info@bnoordhuis.nl>
Date: Wed, 29 Nov 2023 08:50:53 +0100
Add more tests
- add regexp tests in tests/microbench.js
- add bjson_test_regexp in tests/test_test_bjson.js
Diffstat:
2 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/quickjs/tests/microbench.js b/quickjs/tests/microbench.js
@@ -695,6 +695,30 @@ function math_min(n)
return n * 1000;
}
+function regexp_ascii(n)
+{
+ var i, j, r, s;
+ s = "the quick brown fox jumped over the lazy dog"
+ for(j = 0; j < n; j++) {
+ for(i = 0; i < 10000; i++)
+ r = /the quick brown fox/.exec(s)
+ global_res = r;
+ }
+ return n * 10000;
+}
+
+function regexp_utf16(n)
+{
+ var i, j, r, s;
+ s = "the quick brown ᶠᵒˣ jumped over the lazy ᵈᵒᵍ"
+ for(j = 0; j < n; j++) {
+ for(i = 0; i < 10000; i++)
+ r = /the quick brown ᶠᵒˣ/.exec(s)
+ global_res = r;
+ }
+ return n * 10000;
+}
+
/* incremental string contruction as local var */
function string_build1(n)
{
@@ -1026,6 +1050,8 @@ function main(argc, argv, g)
array_for_in,
array_for_of,
math_min,
+ regexp_ascii,
+ regexp_utf16,
string_build1,
string_build1x,
string_build2c,
diff --git a/quickjs/tests/test_bjson.js b/quickjs/tests/test_bjson.js
@@ -144,6 +144,18 @@ function bjson_test_reference()
}
}
+function bjson_test_regexp()
+{
+ var buf, r;
+
+ bjson_test(/xyzzy/);
+ bjson_test(/xyzzy/digu);
+
+ buf = bjson.write(/(?<𝓓𝓸𝓰>dog)/);
+ r = bjson.read(buf, 0, buf.byteLength);
+ assert("sup dog".match(r).groups["𝓓𝓸𝓰"], "dog");
+}
+
function bjson_test_all()
{
var obj;
@@ -186,6 +198,7 @@ function bjson_test_all()
}
bjson_test_reference();
+ bjson_test_regexp();
}
bjson_test_all();