tests: AVM2 RegExp constructor and flags
This commit is contained in:
parent
d866f73c5e
commit
ae2de6315d
|
@ -527,6 +527,7 @@ swf_tests! {
|
|||
(as3_movieclip_displayevents_timeline, "avm2/movieclip_displayevents_timeline", 5),
|
||||
(as3_movieclip_displayevents_looping, "avm2/movieclip_displayevents_looping", 5),
|
||||
(as3_movieclip_displayevents_dblhandler, "avm2/movieclip_displayevents_dblhandler", 4),
|
||||
(as3_regexp_constr, "avm2/regexp_constr", 1),
|
||||
}
|
||||
|
||||
// TODO: These tests have some inaccuracies currently, so we use approx_eq to test that numeric values are close enough.
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package {
|
||||
public class Test {
|
||||
}
|
||||
}
|
||||
|
||||
trace("// new RegExp();");
|
||||
var re = new RegExp();
|
||||
trace(re);
|
||||
trace(re.source == "");
|
||||
trace("dotall", re.dotall);
|
||||
trace("extended", re.extended);
|
||||
trace("global", re.global);
|
||||
trace("ignoreCase", re.ignoreCase);
|
||||
trace("multiline", re.multiline);
|
||||
trace("");
|
||||
|
||||
function test(source:String, flags:String) {
|
||||
trace("// new RegExp(\"" + source + "\", \"" + flags + "\");");
|
||||
var re = new RegExp(source, flags);
|
||||
trace(re);
|
||||
trace(re.source == source);
|
||||
trace("dotall", re.dotall);
|
||||
trace("extended", re.extended);
|
||||
trace("global", re.global);
|
||||
trace("ignoreCase", re.ignoreCase);
|
||||
trace("multiline", re.multiline);
|
||||
trace("");
|
||||
}
|
||||
|
||||
test("empty flags", "");
|
||||
test("dotall flag", "s");
|
||||
test("extended flag", "x");
|
||||
test("global flag", "g");
|
||||
test("ignoreCase flag", "i");
|
||||
test("multiline flag", "m");
|
||||
test("all flags", "sxgim");
|
||||
|
||||
test("invalid flags", "|%?-/.あa");
|
||||
test("uppercase flags", "SXGIM");
|
||||
test("duplicate flags", "ssgg");
|
|
@ -0,0 +1,99 @@
|
|||
// new RegExp();
|
||||
//
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("empty flags", "");
|
||||
/empty flags/
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("dotall flag", "s");
|
||||
/dotall flag/s
|
||||
true
|
||||
dotall true
|
||||
extended false
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("extended flag", "x");
|
||||
/extended flag/x
|
||||
true
|
||||
dotall false
|
||||
extended true
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("global flag", "g");
|
||||
/global flag/g
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global true
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("ignoreCase flag", "i");
|
||||
/ignoreCase flag/i
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global false
|
||||
ignoreCase true
|
||||
multiline false
|
||||
|
||||
// new RegExp("multiline flag", "m");
|
||||
/multiline flag/m
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline true
|
||||
|
||||
// new RegExp("all flags", "sxgim");
|
||||
/all flags/gimsx
|
||||
true
|
||||
dotall true
|
||||
extended true
|
||||
global true
|
||||
ignoreCase true
|
||||
multiline true
|
||||
|
||||
// new RegExp("invalid flags", "|%?-/.あa");
|
||||
/invalid flags/
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("uppercase flags", "SXGIM");
|
||||
/uppercase flags/
|
||||
true
|
||||
dotall false
|
||||
extended false
|
||||
global false
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
||||
// new RegExp("duplicate flags", "ssgg");
|
||||
/duplicate flags/gs
|
||||
true
|
||||
dotall true
|
||||
extended false
|
||||
global true
|
||||
ignoreCase false
|
||||
multiline false
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue