Add more tests

- add regexp tests in tests/microbench.js
- add bjson_test_regexp in tests/test_test_bjson.js
This commit is contained in:
Ben Noordhuis 2023-11-29 08:50:53 +01:00 committed by Charlie Gordon
parent 48deab1aeb
commit 2e1013429a
2 changed files with 39 additions and 0 deletions

View file

@ -695,6 +695,30 @@ function math_min(n)
return n * 1000; 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 */ /* incremental string contruction as local var */
function string_build1(n) function string_build1(n)
{ {
@ -1026,6 +1050,8 @@ function main(argc, argv, g)
array_for_in, array_for_in,
array_for_of, array_for_of,
math_min, math_min,
regexp_ascii,
regexp_utf16,
string_build1, string_build1,
string_build1x, string_build1x,
string_build2c, string_build2c,

View file

@ -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() function bjson_test_all()
{ {
var obj; var obj;
@ -186,6 +198,7 @@ function bjson_test_all()
} }
bjson_test_reference(); bjson_test_reference();
bjson_test_regexp();
} }
bjson_test_all(); bjson_test_all();