 
	
 
	 
	
 
	| 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 that variables are properly defined and expressed on a page.
- Variables are defined as !define name {value}.
- Alternately they are defined as !define name (value).
- This is so that you can create variables with {} or () in them.
- They are expressed using ${name}
Test a variable defined and used on the same page.
- Create a page with a variable definition and use..
| script | |
| start | Page Builder | 
| line | !define x {1} | 
| line | x is ${x} | 
| line | PAGE_NAME is ${PAGE_NAME} | 
| line | PAGE_PATH is ${PAGE_PATH} | 
| page | VariablePage | 
- Fetch that page.
| Response Requester. | ||
| uri | valid? | contents? | 
| VariablePage | true | |
- Inspect the text to see if the variable was expressed.
| Response Examiner. | ||
| type | pattern | matches? | 
| contents | x is 1 | true | 
| contents | PAGE_NAME is <a href="VariablePage">VariablePage | true | 
| contents | PAGE_PATH is . | true | 
Test a variable defined and used on the same page using () syntax.
- Create a page with a variable definition and use..
| script | |
| start | Page Builder | 
| line | !define x (1) | 
| line | x is ${x} | 
| page | ParenVariablePage | 
- Fetch that page.
| Response Requester. | ||
| uri | valid? | contents? | 
| ParenVariablePage | true | |
- Inspect the text to see if the variable was expressed.
| Response Examiner. | |||
| type | pattern | matches? | wrapped html? | 
| contents | x is 1 | true | |
Test literals in variables with {} and () syntax.
The internal representation of a literal is changed from !lit(n) to !lit?n? so as to avoid conflict with the !define X () widget syntax.- Create a page with a variable definition and use..
| script | |
| start | Page Builder | 
| line | !define xLitBRACE {!-xLitBRACE-!} | 
| line | !define xLitPAREN (!-xLitPAREN-!) | 
| line | xLitBRACE is ${xLitBRACE} | 
| line | xLitPAREN is ${xLitPAREN} | 
| page | ParenVariablePage | 
- Fetch that page.
| Response Requester. | ||
| uri | valid? | contents? | 
| ParenVariablePage | true | |
- Inspect the text to see if the variable was expressed.
| Response Examiner. | |||
| type | pattern | matches? | wrapped html? | 
| contents | xLitPAREN is xLitPAREN | true | |
| contents | xLitBRACE is xLitBRACE | true | |
Test a variables with periods
- Create a page with a variable definitions with periods.
| script | |
| start | Page Builder | 
| line | !define xy. (1) | 
| line | !define x.y (2) | 
| line | !define .xy (3) | 
| line | !define .x.y. (4) | 
| line | !define .xy. (5) | 
| line | !define .x.y (6) | 
| line | !define x.y. (7) | 
| line | !define x..y (8) | 
| line | ~xy. is ${xy.}~ | 
| line | ~x.y is ${x.y}~ | 
| line | ~.xy is ${.xy}~ | 
| line | ~.x.y. is ${.x.y.}~ | 
| line | ~.xy. is ${.xy.}~ | 
| line | ~.x.y is ${.x.y}~ | 
| line | ~x.y. is ${x.y.}~ | 
| line | ~x..y is ${x..y}~ | 
| page | ParenVariablePage | 
- Fetch that page.
| Response Requester. | ||
| uri | valid? | contents? | 
| ParenVariablePage | true | |
- Inspect the text to see if the variables were expressed properly.
| Response Examiner. | |||
| type | pattern | matches? | wrapped html? | 
| contents | ~xy. is 1~ | true | |
| contents | ~x.y is 2~ | true | |
| contents | ~.xy is 3~ | true | |
| contents | ~.x.y. is 4~ | true | |
| contents | ~.xy. is 5~ | true | |
| contents | ~.x.y is 6~ | true | |
| contents | ~x.y. is 7~ | true | |
| contents | ~x..y is 8~ | true | |
Add Child Page to TestVariables
  