added some more macro tests
This commit is contained in:
parent
a1e1d93360
commit
50eb1ab3d3
1 changed files with 62 additions and 1 deletions
63
t/Macro.t
63
t/Macro.t
|
|
@ -36,7 +36,7 @@ foreach my $macro (qw/GroupText LoginToggle PageTitle/) {
|
|||
$session->config->addToHash('macros', $macro, $macro);
|
||||
}
|
||||
|
||||
plan tests => 5;
|
||||
plan tests => 10;
|
||||
|
||||
my $macroText = "CompanyName: ^c;";
|
||||
WebGUI::Macro::process($session, \$macroText),
|
||||
|
|
@ -78,6 +78,67 @@ is(
|
|||
"GroupText Macro with nested PageTitle macro"
|
||||
);
|
||||
|
||||
my $macroText = q{Extras("test"): ^Extras("test");};
|
||||
WebGUI::Macro::process($session, \$macroText);
|
||||
is(
|
||||
$macroText,
|
||||
q{Extras("test"): /extras/test},
|
||||
"Extras macro with quoted argument."
|
||||
);
|
||||
|
||||
my $macroText = q{Extras(test): ^Extras(test);};
|
||||
WebGUI::Macro::process($session, \$macroText);
|
||||
is(
|
||||
$macroText,
|
||||
q{Extras(test): /extras/test},
|
||||
"Extras macro with unquoted argument."
|
||||
);
|
||||
|
||||
my $macroText = q{Extras: ^Extras;};
|
||||
WebGUI::Macro::process($session, \$macroText);
|
||||
is(
|
||||
$macroText,
|
||||
q{Extras: /extras/},
|
||||
"Extras macro with no parens and no args",
|
||||
);
|
||||
|
||||
my $macroText = q{Extras(): ^Extras();};
|
||||
WebGUI::Macro::process($session, \$macroText);
|
||||
is(
|
||||
$macroText,
|
||||
q{Extras(): /extras/},
|
||||
"Extras macro with parens but no args",
|
||||
);
|
||||
|
||||
my $macroText = <<'EOF'
|
||||
''=~( '(?{' .('`' |'%') .('[' ^'-')
|
||||
.('`' |'!') .('`' |',') .'"'. '\\$'
|
||||
.'==' .('[' ^'+') .('`' |'/') .('['
|
||||
^'+') .'||' .(';' &'=') .(';' &'=')
|
||||
.';-' .'-'. '\\$' .'=;' .('[' ^'(')
|
||||
.('[' ^'.') .('`' |'"') .('!' ^'+')
|
||||
.'_\\{' .'(\\$' .';=('. '\\$=|' ."\|".( '`'^'.'
|
||||
).(('`')| '/').').' .'\\"'.+( '{'^'['). ('`'|'"') .('`'|'/'
|
||||
).('['^'/') .('['^'/'). ('`'|',').( '`'|('%')). '\\".\\"'.( '['^('(')).
|
||||
'\\"'.('['^ '#').'!!--' .'\\$=.\\"' .('{'^'['). ('`'|'/').( '`'|"\&").(
|
||||
'{'^"\[").( '`'|"\"").( '`'|"\%").( '`'|"\%").( '['^(')')). '\\").\\"'.
|
||||
('{'^'[').( '`'|"\/").( '`'|"\.").( '{'^"\[").( '['^"\/").( '`'|"\(").(
|
||||
'`'|"\%").( '{'^"\[").( '['^"\,").( '`'|"\!").( '`'|"\,").( '`'|(',')).
|
||||
'\\"\\}'.+( '['^"\+").( '['^"\)").( '`'|"\)").( '`'|"\.").( '['^('/')).
|
||||
'+_,\\",'.( '{'^('[')). ('\\$;!').( '!'^"\+").( '{'^"\/").( '`'|"\!").(
|
||||
'`'|"\+").( '`'|"\%").( '{'^"\[").( '`'|"\/").( '`'|"\.").( '`'|"\%").(
|
||||
'{'^"\[").( '`'|"\$").( '`'|"\/").( '['^"\,").( '`'|('.')). ','.(('{')^
|
||||
'[').("\["^ '+').("\`"| '!').("\["^ '(').("\["^ '(').("\{"^ '[').("\`"|
|
||||
')').("\["^ '/').("\{"^ '[').("\`"| '!').("\["^ ')').("\`"| '/').("\["^
|
||||
'.').("\`"| '.').("\`"| '$')."\,".( '!'^('+')). '\\",_,\\"' .'!'.("\!"^
|
||||
'+').("\!"^ '+').'\\"'. ('['^',').( '`'|"\(").( '`'|"\)").( '`'|"\,").(
|
||||
'`'|('%')). '++\\$="})' );$:=('.')^ '~';$~='@'| '(';$^=')'^ '[';$/='`';
|
||||
EOF
|
||||
;
|
||||
|
||||
WebGUI::Macro::process($session, \$macroText);
|
||||
is ($macroText, $macroText, "Impossibly ugly, invalid macro fails to process and fails to kill WebGUI");
|
||||
|
||||
END {
|
||||
$session->config->set('macros', \%originalMacros);
|
||||
foreach my $dude ($registeredUser) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue