Scenario Libraries
Included page: .FitNesse.SuiteAcceptanceTests.ScenarioLibrary (edit)
| scenario |
given page |
page |
with content |
content |
| create page |
@page |
with content |
@content |
| $IT= |
echo |
@page |
| scenario |
given page |
page |
| given page |
@page |
with content |
nothing |
| scenario |
given test page |
page |
| given page |
@page |
| make |
@page |
a test page |
| scenario |
given slim test page |
page |
| given page |
@page |
with content |
!define TEST_SYSTEM {slim} |
| make |
@page |
a test page |
| scenario |
page |
source |
should have link to |
target |
| check |
request page |
@source |
200 |
| ensure |
content contains |
<a href="@target"> |
| $IT= |
echo |
@source |
| scenario |
it should have link to |
target |
| page |
$IT |
should have link to |
@target |
| scenario |
and it should have link to |
target |
| page |
$IT |
should have link to |
@target |
| scenario |
page |
source |
should have creating link to |
target |
| check |
request page |
@source |
200 |
| ensure |
content contains |
@target<a title="create page" href="@target?edit&nonExistent=true">[?]</a> |
| scenario |
it should have creating link to |
target |
| page |
$IT |
should have creating link to |
@target |
| scenario |
page |
source |
should contain |
text |
| check |
request page |
@source |
200 |
| ensure |
content contains |
@text |
| show |
content |
| scenario |
page |
source |
should not contain |
text |
| check |
request page |
@source |
200 |
| reject |
content contains |
@text |
| show |
content |
| scenario |
page |
source |
should match |
text |
| check |
request page |
@source |
200 |
| ensure |
content matches |
@text |
| show |
content |
| scenario |
it should contain |
text |
| page |
$IT |
should contain |
@text |
| scenario |
it should not contain |
text |
| page |
$IT |
should not contain |
@text |
| scenario |
it should contain |
text |
in line |
symbol |
| check |
request page |
$IT |
200 |
| $@symbol= |
line number containing |
@text |
| scenario |
it should match |
text |
| page |
$IT |
should match |
@text |
| scenario |
test results for page |
source |
should contain |
text |
| check |
request page |
@source?test |
200 |
| ensure |
content contains |
@text |
| show |
content |
| scenario |
its test results should contain |
text |
| test results for page |
$IT |
should contain |
@text |
| scenario |
test ressults for page |
source |
should not contain |
text |
| check |
request page |
@source?test |
200 |
| reject |
content contains |
@text |
| show |
content |
| scenario |
and should contain |
text |
| ensure |
content contains |
@text |
| show |
content |
| scenario |
and should match |
text |
| ensure |
content matches |
@text |
| show |
content |
| scenario |
and should not contain |
text |
| reject |
content contains |
@text |
| show |
content |
| scenario |
widget |
wikiText |
should render |
htmlText |
| create page |
WidgetPage |
with content |
@wikiText |
| check |
request page |
WidgetPage |
200 |
| ensure |
content matches |
@htmlText |
| show |
content |
| scenario |
the line |
after |
should come after |
before |
| check |
echo int |
$@before |
< $@after |
Evaluator of expressions: ${= =}
Syntax
${= [format:] expression =} Expression
An expression may be a combination of constants, variables, and opertors. All internal calculations use the Java
double numeric type.
Format
A format is a specifier that describes the rendering of the numeric result. The format specifier is described by the Java 5 String class's .format() method:
%[flags][width][.precision]conversion
- N.B., The [argument_index$] specifier is not permitted.
Links
Examples
${= 12 + 23 =} renders (sand brackets) as [35]
${=%5.4f:1.414=} : [1.4140]
${=%05X:14+14=} : [0001C]
${= %-10s : 123 =} : [123 ]Operators supported
| Comment |
Spaces between items are optional |
| Operator |
Argument |
Description |
arg |
constant or variable |
Examples: 3, 12.4, 4E+8, ${VALUE}, ${some.var} |
expr |
expression |
Any valid combination of arguments and optional operations and parentheses |
+ |
expr + expr |
Addition |
- |
-expr |
Unary negation |
- |
expr - expr |
Subtraction |
* |
expr * expr |
Multiplication |
/ |
expr / expr |
Division |
^ |
expr ^ expr |
Exponentiation |
sin |
sin expr |
Radian Sine of expr |
cos |
cos expr |
Radian Cosine of expr |
tan |
cos expr |
Radian Tangent of expr |
( ) |
( expr ) |
Parenthetical grouping of an expression |
Test Blank Expressions
Build blank expression page
| script |
| start |
Page Builder |
| line |
~1a:${==}~ |
| line |
~1b:${= =}~ |
| line |
~1c:${= =}~ |
| page |
ExpressionPage |
Render it
| Response Requester |
| uri |
valid? |
| ExpressionPage |
true |
Contents
| Response Examiner |
| type |
string? |
| contents |
|
| Response Examiner |
| type |
wrapped html? |
| contents |
|
Verify results
| Response Examiner |
| type |
pattern |
matches? |
| contents |
~1a:~ |
true |
| contents |
~1b:~ |
true |
| contents |
~1c:~ |
true |
Test Single Argument Expressions
Build expression page
| script |
| start |
Page Builder |
| line |
~2a:${=3=}~ |
| line |
~2b:${= 4.2 =}~ |
| line |
~2c:${= 2E+1 =}~ |
| line |
~2d:${= 2.3E+42 =}~ |
| line |
~2e:${= 4.2E + 24 =}~ |
| page |
ExpressionPage |
Render it
| Response Requester |
| uri |
valid? |
| ExpressionPage |
true |
Contents
| Response Examiner |
| type |
string? |
| contents |
|
| Response Examiner |
| type |
wrapped html? |
| contents |
|
Verify results
| Response Examiner |
| type |
pattern |
matches? |
| contents |
~2a:3~ |
true |
| contents |
~2b:4.2~ |
true |
| contents |
~2c:20~ |
true |
| contents |
~2d:2.3E+42~ |
true |
| contents |
~2e:4.2E+24~ |
true |
Test spaces around experssions
Build expression page
| script |
| start |
Page Builder |
| line |
~3a:${=1+1=}~ |
| line |
~3b:${=2 + 2=}~ |
| line |
~3c:${= 3 + 3=}~ |
| line |
~3d:${=4 + 4 =}~ |
| line |
~3e:${=5 +5 =}~ |
| page |
ExpressionPage |
Render it
| Response Requester |
| uri |
valid? |
| ExpressionPage |
true |
Contents
| Response Examiner |
| type |
string? |
| contents |
|
| Response Examiner |
| type |
wrapped html? |
| contents |
|
Verify results
| Response Examiner |
| type |
pattern |
matches? |
| contents |
~3a:2~ |
true |
| contents |
~3b:4~ |
true |
| contents |
~3c:6~ |
true |
| contents |
~3d:8~ |
true |
| contents |
~3e:10~ |
true |
Test each operator
Build expression page
| script |
| start |
Page Builder |
| line |
~4plus:${= 1 + 2 =}~ |
| line |
~4minus:${= 2 - 3 =}~ |
| line |
~4unary:${= -12 =}~ |
| line |
~4mult:${= 3 * 4 =}~ |
| line |
~4div:${= 4 / 5 =}~ |
| line |
~4exp:${=%2d: 5 ^ 6 =}~ |
| line |
~4sin1:${=%5.4f: sin0.39269875 =}~ |
| line |
~4sin2:${=%5.4f: sin 0.39269875 =}~ |
| line |
~4sin3:${=%5.4f: sin(0.39269875) =}~ |
| line |
~4sin4:${=%5.4f: sin(3.14159/8) =}~ |
| line |
~4sin5:${=%5.4f: sin (3.14159/8) =}~ |
| line |
~4cos:${=%5.4f: cos(3.14159 / 8) =}~ |
| line |
~4tan:${=%5.4f: tan(3.14159 / 8) =}~ |
| page |
ExpressionPage |
Render it
| Response Requester |
| uri |
valid? |
| ExpressionPage |
true |
Contents
| Response Examiner |
| type |
string? |
| contents |
|
| Response Examiner |
| type |
wrapped html? |
| contents |
|
Verify results
| Response Examiner |
| type |
pattern |
matches? |
| contents |
~4plus:3~ |
true |
| contents |
~4minus:-1~ |
true |
| contents |
~4unary:-12~ |
true |
| contents |
~4mult:12~ |
true |
| contents |
~4div:0.8~ |
true |
| contents |
~4exp:15625~ |
true |
| contents |
~4sin1:0.3827~ |
true |
| contents |
~4sin2:0.3827~ |
true |
| contents |
~4sin3:0.3827~ |
true |
| contents |
~4sin4:0.3827~ |
true |
| contents |
~4sin5:0.3827~ |
true |
| contents |
~4cos:0.9239~ |
true |
| contents |
~4tan:0.4142~ |
true |
Test parentheses
Build expression page
| script |
| start |
Page Builder |
| line |
~5a:${= 2 * 3 + 4 / 2 - 3 =}~ |
| line |
~5b:${= 2 * ( 3 + 4 ) / 2 - 3 =}~ |
| line |
~5c:${= 2 * ( 3 + 4 ) / ( 2 - 3 ) =}~ |
| line |
~5d:${= 2 * ( 3 + ( 4 / ( 2 - 3 ) ) ) =}~ |
| page |
ExpressionPage |
Render it
| Response Requester |
| uri |
valid? |
| ExpressionPage |
true |
Contents
| Response Examiner |
| type |
string? |
| contents |
|
| Response Examiner |
| type |
wrapped html? |
| contents |
|
Verify results
| Response Examiner |
| type |
pattern |
matches? |
| contents |
~5a:5~ |
true |
| contents |
~5b:4~ |
true |
| contents |
~5c:-14~ |
true |
| contents |
~5d:-2~ |
true |
Test formatting
Build expression page
| script |
| start |
Page Builder |
| line |
~6a:${=%d:2 =}~ |
| line |
~6b:${= %d : 3.2 =}~ |
| line |
~6c:${=%02d: 2 + 1 =}~ |
| line |
~6d:${= %4.4f: 2.2 / 3.4 =}~ |
| line |
~6e:${=%03o: 16 =}~ |
| line |
~6f:${= %03o : 18 =}~ |
| line |
~6g:${=%03x: 26 =}~ |
| line |
~6h:${=%03X: 27 =}~ |
| line |
~6i:${= %-12s : 123 =}~ |
| line |
~6j:${=%TY: 73422123127 =}~ |
| line |
~6k:${=%b: 27 =}~ |
| line |
~6l:${=%b: 0 =}~ |
| line |
~6m:${=%B: 27 =}~ |
| line |
~6n:${=%B: 0 =}~ |
| line |
~6o:${= % d : 3.2 =}~ |
| page |
ExpressionPage |
Render it
| Response Requester |
| uri |
valid? |
| ExpressionPage |
true |
Contents
| Response Examiner |
| type |
string? |
| contents |
|
| Response Examiner |
| type |
wrapped html? |
| contents |
|
Verify results
| Response Examiner |
| type |
pattern |
matches? |
| contents |
~6a:2~ |
true |
| contents |
~6b:3~ |
true |
| contents |
~6c:03~ |
true |
| contents |
~6d:0.6471~ |
true |
| contents |
~6e:020~ |
true |
| contents |
~6f:022~ |
true |
| contents |
~6g:01a~ |
true |
| contents |
~6h:01B~ |
true |
| contents |
~6i:123 ~ |
true |
| contents |
~6j:1972~ |
true |
| contents |
~6k:true~ |
true |
| contents |
~6l:false~ |
true |
| contents |
~6m:true~ |
true |
| contents |
~6n:false~ |
true |
| contents |
~6o: 3~ |
true |