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 |
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
- First create two sub pages. One has a relative link to the other.
Page creator. |
Page name. |
Page contents. |
Page attributes. |
valid? |
SomePage.TargetPage |
target page |
|
true |
SomePage.LinkPage |
[[tag][TargetPage]] |
|
true |
- Then get the page with the relative link on it.
Response Requester. |
uri |
valid? |
SomePage.LinkPage |
true |
- Then make sure the relative link is properly constructed.
Response Examiner. |
type |
pattern |
matches? |
value |
contents |
<a href="SomePage.TargetPage">tag</a> |
true |
|
Test global link alias
- First create a sub page that has a global reference to another sub page.
Page creator. |
Page name. |
Page contents. |
Page attributes. |
valid? |
SomePage.GlobalLinkPage |
[[tag][.SomePage.TargetPage]] |
|
true |
Response Requester. |
uri |
valid? |
SomePage.GlobalLinkPage |
true |
- Make sure the link is properly formed.
Response Examiner. |
type |
pattern |
matches? |
value |
contents |
<a href="SomePage.TargetPage">tag</a> |
true |
|
Test variables get rendered in http link alias
- First create a page with a variable and http link on it.
script |
start |
Page Builder |
line |
!define HOST {localhost:8080} |
line |
[[tag][http://${HOST}/page]] works fine. |
page |
HttpLinkPage |
Response Requester. |
uri |
valid? |
HttpLinkPage |
true |
- Make sure the link is properly constructed.
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
- First define parent page with variable definition and child page with a http link which uses the variable.
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 |
- Make sure the link is properly constructed.
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 |
- First create a page with a variables and http link on it.
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 |
|
- Make sure the link is properly constructed.
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 |
- Create a page of query and fragment links...and a child
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 |
|
- Make sure the query and fragments don't interfere with page paths.
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 |