Module Information
Public.Regexp.PCRE
Viewing contents of Public_Regexp_PCRE-1.2/testsuite.in
test_do([[
Public.Regexp.PCRE.Plain r = Public.Regexp.PCRE.Plain("abc(.{3})");
add_constant("r", r);
]])
test_eq(r->match("abcdefg"), 1)
test_eq(r->match("abcde"), 0)
test_eq(r->matchall("abcdefabcdef"), 2)
test_eq(r->matchall("abcdefabcdef", 1), 1)
test_eq(r->matchall("abcdefabcdef", 0, 1), 1)
test_equal(r->matchall("abcdefabcdef", 0, 0, 1), ({ 2, ({ ({ "abcdef", "def" }), ({ "abcdef", "def" }) }) }))
test_eq(r->replace("abcdefabcdef", "X"), "XX")
test_eq(r->replace("abcdefabcdef", "X", 1), "abcdefX")
test_eq(r->replace("abcdefabcdef", "X", 0, 1), "Xabcdef")
test_equal(r->replace("abcdefabcdef", "X", 0, 0, 1), ({ "XX", ({ ({ "abcdef", "def" }), ({ "abcdef", "def" }) }) }))
test_equal(r->split("abcdefabcdef"), ({ "", "", "" }))
test_equal(r->split("abcdefabcdef", 1), ({ "abcdef", "" }))
test_equal(r->split("abcdefabcdef", 0, 1), ({ "", "abcdef" }))
test_equal(r->split("abcdefabcdef", 0, 0, 1), ({ ({ "", "", "" }), ({ ({ "abcdef", "def" }), ({ "abcdef", "def" }) }) }))
test_eq(r->replace("fooabcdefbar", "$0"), "fooabcdefbar")
test_eq(r->replace("fooabcdefbar", "$1"), "foodefbar")
test_eq(r->replace("fooabcdefbar", "$2"), "foobar")
test_eq(r->replace("fooabcdefbar", "$r"), "foo$rbar")
test_eq(r->replace("fooabcdefbar", "\\$2"), "foo$2bar")
test_eq(r->replace("fooabcdefbar", "${1}1"), "foodef1bar")
test_eq(r->replace("fooabcdefbar", "\\${1}1"), "foo${1}1bar")
test_eq(r->replace("fooabcdefbar", lambda(array(string) a) {
if (a[1] == "def")
return "alphabetical";
else
return "random letters";
}), "fooalphabeticalbar")
test_eq(r->replace("fooabcbar", lambda(array(string) a) {
if (a[1] == "def")
return "alphabetical";
else
return "random letters";
}), "foorandom letters")
|
|