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.SuiteWidgetTests.SetUp (edit)

Included page: <SuiteAcceptanceTests.SetUp (edit)

Import
fitnesse.fixtures

SetUp

Library
echo fixture
page driver


Test the Link Alias syntax.

Aliases to links can be created using the [[tag][link]] syntax.
The tag is interpreted for markup syntax, so it can be italic, or bold, or an image, etc. The link can be a relative or global wiki word, or it can be an http link.



Test relative link alias

Page creator.
Page name. Page contents. Page attributes. valid?
SomePage.TargetPage target page true
SomePage.LinkPage [[tag][TargetPage]] true
Response Requester.
uri valid?
SomePage.LinkPage true
Response Examiner.
type pattern matches? value
contents <a href="SomePage.TargetPage">tag</a> true


Test global link alias

Page creator.
Page name. Page contents. Page attributes. valid?
SomePage.GlobalLinkPage [[tag][.SomePage.TargetPage]] true
Response Requester.
uri valid?
SomePage.GlobalLinkPage true
Response Examiner.
type pattern matches? value
contents <a href="SomePage.TargetPage">tag</a> true


Test variables get rendered in http link alias

script
start Page Builder
line !define HOST {localhost:8080}
line [[tag][http://${HOST}/page]] works fine.
page HttpLinkPage

Response Requester.
uri valid?
HttpLinkPage true
Response Examiner.
type pattern matches? value
contents <a href="http://localhost:8080/page">tag</a> works fine. true


Test variables defined in parent page get rendered in http link alias on child pages

Page creator.
Page name. Page contents. Page attributes. valid?
SomePage.ParentPage !define HOST {localhost:8080} true
SomePage.ParentPage.ChildPage [[tag][http://${HOST}/page]] works fine. true

Response Requester.
uri valid?
SomePage.ParentPage.ChildPage true

Response Examiner.
type pattern matches? value
contents <a href="http://localhost:8080/page">tag</a> works fine. true


Test expressions without variables in link alias

Page creator.
Page name. Page contents. Page attributes. valid?
PageLink2 contents true
PageLink4 contents true
PageLink10 contents true

script
start Page Builder
line !define X {5}
line !define Y (4)
line !define EXPR (${=3+2-1=})
line [[tag][PageLink${= 3 - 2 + 1 =}]] works fine.
line [[tag][PageLink${EXPR}]] works too.
line [[tag][PageLink${=${X}+${Y}+1=}]] works as well.
page HttpExprPage

Response Requester.
uri valid? contents?
HttpExprPage true

Response Examiner.
type pattern matches?
contents <a href="PageLink2">tag</a> works fine. true
contents <a href="PageLink4">tag</a> works too. true
contents <a href="PageLink10">tag</a> works as well. true

Test that links with query strings and fragments are handled properly.

Page creator.
Page name. Page contents. Page attributes. valid?
QueryPageRoot !anchor QPLabel true
QueryPageRoot.TopPage !anchor QPTopLabel true

script
start Page Builder
line [[tag1 ][TopPage?edit]] has query.
line [[tag2 ][TopPage?edit#QPTopLabel]] has query and frag.
line [[tag3 ][TopPage#QPTopLabel]] has fragment.
line [[tag4 ][
line [[tag5 ][.QueryPageRoot.TopPage?edit]] root has query.
line [[tag6 ][
line [[tag7 ][
line [[tag8 ][>ChildFrag?edit]] child has query.
line [[tag9 ][>ChildFrag?edit#QPTopLabel]] child has query and frag.
line [[tag10][>ChildFrag#QPTopLabel]] child has fragment.
page QueryPageRoot.QueryFragmentLinks

Page creator.
Page name. Page contents. Page attributes. valid?
QueryPageRoot.QueryFragmentLinks.ChildFrag !anchor QPChild true

Response Requester.
uri valid? contents?
QueryPageRoot.QueryFragmentLinks true

Response Examiner.
type pattern matches?
contents <a href="QueryPageRoot\.TopPage\?edit">tag1 </a> has query. true
contents <a href="QueryPageRoot\.TopPage\?edit#QPTopLabel">tag2 </a> has query and frag. true
contents <a href="QueryPageRoot\.TopPage#QPTopLabel">tag3 </a> has fragment. true
contents <a href="QueryPageRoot\.TopPage\?edit">tag4 </a> back has query. true
contents <a href="QueryPageRoot\.TopPage\?edit">tag5 </a> root has query. true
contents <a href="QueryPageRoot\.TopPage\?edit#QPTopLabel">tag6 </a> back has query and frag. true
contents <a href="QueryPageRoot\.TopPage#QPTopLabel">tag7 </a> back has fragment. true
contents <a href="QueryPageRoot\.QueryFragmentLinks\.ChildFrag\?edit">tag8 </a> child has query. true
contents <a href="QueryPageRoot\.QueryFragmentLinks\.ChildFrag\?edit#QPTopLabel">tag9 </a> child has query and frag. true
contents <a href="QueryPageRoot\.QueryFragmentLinks\.ChildFrag#QPTopLabel">tag10</a> child has fragment. true

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



tear down