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
$CONTENT= echo

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 test results for suite source should contain text
check request page @source?suite 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

scenario show collapsed content
show @content

scenario show Symbol result

scenario then pass assertions pass, fail fail, ignore are ignored exception exceptions thrown
ensure content matches Assertions:<[^<]*@pass right, @fail wrong, @ignore ignored, @exception exceptions
show extract match; Assertions:<[^<]*exceptions contents 0

scenario and cell text has result result
ensure content matches class="@result">@text<
show extract match; class="[^"]+">@text< contents 0

variable defined: TestSTART=@@@START: Test specific content
variable defined: TestEND=@@@END: Test specific content

scenario and TestSystem setup is content
$CONTENT= echo $CONTENT @content

scenario and setup content is content
$CONTENT= echo $CONTENT @content

scenario and test content is content
given page $IT with content $CONTENT @@@START: Test specific content@content@@@END: Test specific content
make $IT a test page

scenario get HTML result
start Response Examiner.
setType contents
setPattern @@@START: Test specific content[^<]*(.*>)\s*@@@END: Test specific content
setGroup 1
$HTML_Result= found

scenario get HTML input
start Response Examiner.
setType pageHtml
setPattern @@@START: Test specific content[^<]*(.*>)\s*@@@END: Test specific content
setGroup 1
$HTML_Input= found
show collapsed get value


scenario get collapsed executon log for page source
check request page @source?executionLog 200
show content

scenario when page source is tested
check request page @source?test 200
show collapsed content

scenario when page source is tested and HTML is extracted
when page @source is tested
get HTML result
get HTML input

Included page: .FitNesse.SuiteAcceptanceTests.SuiteTestHistory.ScenarioLibrary (edit)

scenario get history for page page
check request page @page?pageHistory 200
$TESTPAGE= echo @page
show content

scenario get top level history
check request page ?testHistory 200
show content

scenario the number of page histories should be number
check count of tag TR with id prefix pageHistoryRow @number

scenario the page history bar for date should have number elements of class class
$date= page history date signature of @date
check count of tag TD with class element @class below tag TR with id prefix pageHistoryRow_$date @number

scenario the page title should be title
ensure content contains <h1>@title</h1>

scenario the page title should be a link to page with value value
ensure content contains <li><a href="/@page">@value</a></li>


scenario the bread crumb crumb should be a link to page
ensure content contains <a href="/@page">@crumb</a>

scenario The page history bar for date should have a id with class class and value value
$date= page history date signature of @date
ensure content of tag with id pageHistoryRow_$date contains <td class="@id @class">@value</td>
show content of tag with id pageHistoryRow_$date

scenario The page history bar for date should have a date field with class class
$date= page history date signature of @date
ensure content of tag with id pageHistoryRow_$date contains <td class="date_field @class">

scenario the top level history line for page is a link to the page history
ensure content contains <a href="/@page?pageHistory">@page</a>

scenario The page history line for date should be a link to result resultDate
ensure content contains <a href="$TESTPAGE?pageHistory&resultDate=@resultDate">@date</a>

scenario the top level history line for page should have a class link with sign to result resultDate
ensure content contains <td class="@class"><a href="@page?pageHistory&resultDate=@resultDate">@sign</a></td>

scenario the top level history line for page should not have a link to resultDate
reject content contains <a href="@page?pageHistory&resultDate=@resultDate">

scenario class for pass fail in top level history line page pass class pass count fail class fail count
ensure html contains <a href="/@page?pageHistory">@page</a></td> <td class="@passClass">@passCount</td> <td class="@failClass">@failCount</td>

scenario assume time is time
freeze clock at @time

scenario with subpage name with content content
create page $IT.@name with content @content

scenario run suite name
check request page @name?suite 200

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

Import
fitnesse.fixtures

variable defined: TEST_HISTORY_DAYS=15
SetUp test.history.days=15

Library
page driver
echo fixture

Library
page driver
echo fixture
clock fixture

The page history shows the last 20 test results. Below table is larger, so the last tests drop off.

page history
name date right wrong ignores exceptions
SuitePage.TestPage 1-May-2009 20 30 0 0
SuitePage.TestPage 2-May-2009 20 0 0 0
SuitePage.TestPage 3-May-2009 0 0 1 0
SuitePage.TestPage 4-May-2009 0 0 0 1
SuitePage.TestPage 5-May-2009 0 1 0 0
SuitePage.TestPage 6-May-2009 0 1 0 1
SuitePage.TestPage 7-May-2009 0 0 0 0
SuitePage.TestPage 8-May-2009 0 1 0 0
SuitePage.TestPage 9-May-2009 0 1 0 0
SuitePage.TestPage 10-May-2009 0 1 0 0
SuitePage.TestPage 11-May-2009 0 1 0 0
SuitePage.TestPage 12-May-2009 0 1 0 0
SuitePage.TestPage 13-May-2009 0 1 0 0
SuitePage.TestPage 14-May-2009 0 1 0 0
SuitePage.TestPage 15-May-2009 0 1 0 0
SuitePage.TestPage 16-May-2009 0 1 0 0
SuitePage.TestPage 17-May-2009 0 1 0 0
SuitePage.TestPage 18-May-2009 0 1 0 0
SuitePage.TestPage 19-May-2009 0 1 0 0
SuitePage.TestPage 20-May-2009 0 1 0 0
SuitePage.TestPage 21-May-2009 0 1 0 0

script
get top level history

script
the top level history line for SuitePage.TestPage should not have a link to 20090501000000

the top level history line for page should have a class link with sign to result resultDate
page class sign resultDate
SuitePage.TestPage pass + 20090502000000
SuitePage.TestPage ignore - 20090503000000
SuitePage.TestPage error - 20090504000000
SuitePage.TestPage fail - 20090505000000
SuitePage.TestPage fail - 20090506000000
SuitePage.TestPage ignore - 20090507000000
SuitePage.TestPage fail - 20090508000000
SuitePage.TestPage fail - 20090509000000
SuitePage.TestPage fail - 20090510000000
SuitePage.TestPage fail - 20090511000000
SuitePage.TestPage fail - 20090512000000
SuitePage.TestPage fail - 20090513000000
SuitePage.TestPage fail - 20090514000000
SuitePage.TestPage fail - 20090515000000
SuitePage.TestPage fail - 20090516000000
SuitePage.TestPage fail - 20090517000000
SuitePage.TestPage fail - 20090518000000
SuitePage.TestPage fail - 20090519000000
SuitePage.TestPage fail - 20090520000000

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



tear down