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 |
!contents with Properties Option
Use !contents to list all or some of the child pages of the current page along with additional information such as help text, suite filters, some property settings, and graceful names.
Example: !contents -R2 -g -p -f -h
Options
-R ...include all of the descendent pages;
-Rn ...include n levels of descendent pages;
-f ...show suite filters--define FILTER_TOC {true} for global;
-g ...show graceful names in the list--define REGRACE_TOC {true} for global;
-h ...show help property text--define HELP_TOC {true} for global;
-p ...show property suffixes--define PROPERTY_TOC {true} for global;
defaults: Suite(*), Test(+), Imported(@), Symbolic(>), Pruned(-)
define PROPERTY_CHARACTERS {*+@>-} to change.
Explicit Property Option
First create the parent page.
Script |
start |
Page Builder |
line |
I'm the parent |
line |
!contents -p |
page |
ParentPage |
Included page: ContentsTestsInclude (edit)
Next create a child
script |
start |
Page Builder |
line |
I came first! |
attributes |
Suite=true,Test=true,Suites=FC1 |
page |
ParentPage.FirstChild |
Next create a sibling
script |
start |
Page Builder |
line |
I'm younger, but wiser |
attributes |
WikiImport=true,Prune=true,Suites=FC2 |
page |
ParentPage.SecondChild |
Then request the parent page.
Response Requester. |
uri |
valid? |
contents? |
ParentPage |
true |
|
...and examine the requested page to be sure that the child pages are included
Response Examiner. |
type |
pattern |
matches? |
contents |
a href="ParentPage.FirstChild">FirstChild \*\+</a |
true |
contents |
a href="ParentPage.SecondChild">SecondChild @-</a |
true |
Indirect via PROPERTY_TOC Variable
First create the parent page.
script |
start |
Page Builder |
line |
I'm also the parent |
line |
!define PROPERTY_TOC {true} |
line |
!contents |
line |
!define PROPERTY_TOC {false} |
page |
ParentPage |
Included page: ContentsTestsInclude (edit)
Next create a child
script |
start |
Page Builder |
line |
I came first! |
attributes |
Suite=true,Test=true,Suites=FC1 |
page |
ParentPage.FirstChild |
Next create a sibling
script |
start |
Page Builder |
line |
I'm younger, but wiser |
attributes |
WikiImport=true,Prune=true,Suites=FC2 |
page |
ParentPage.SecondChild |
Then request the parent page.
Response Requester. |
uri |
valid? |
contents? |
ParentPage |
true |
|
...and examine the requested page to be sure that the child pages are included
Response Examiner. |
type |
pattern |
matches? |
contents |
a href="ParentPage.FirstChild">FirstChild \*\+</a |
true |
contents |
a href="ParentPage.SecondChild">SecondChild @-</a |
true |