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
scenario
pass
check
echo
pass
pass
!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(>), Skip(-)
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