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



Included page: .FitNesse.SuiteAcceptanceTests.SuiteWidgetTests.SetUp (edit)

Included page: <SuiteAcceptanceTests.SetUp (edit)

Import
fitnesse.fixtures

SetUp


Library
echo fixture
page driver


!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

Included page: .FitNesse.SuiteAcceptanceTests.TearDown (edit)



tear down