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 page in debug mode source should contain text
check request page @source?test&debug 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.SuiteSlimTests.HybridDecisionTable.SetUp (edit)

Import
fitnesse.fixtures


Library
echo fixture


Setup


import
fitnesse.testsystems.slim.tables

scenario Test Json Method Extractor Configuration _ _ _ _ configuration, example column name, generated method name?,parameter list?
start Method Extractor @configuration
$RR= findRule @exampleColumnName
start $RR
$generatedMethodName= getMethod Name
$generatedMethodName= get Disgraced Method Name
$parameterList= getParameters

scenario Test Object Method Extractor Configuration _ _ _ example column name, generated method name?,parameter list?
start $TestMethodExtractorConfiguration
$RR= findRule @exampleColumnName
start $RR
$generatedMethodName= getMethod Name
$generatedMethodName= get Disgraced Method Name
$parameterList= getParameters




Build a JSON configuration string


Hint: use this table to construct your Json expression.


script Method Extractor
# Scope Pattern Target Name Parameter List
add; Cell\s+(\w+):(\d+)\s* getRowColumn $2,$1
# used a named group in the pattern
add; Named\s+Cell\s+(?<column>\w+):(?<row>\d+)\s* getRowColumn $row,$column
# used a fixed value as parameter
add; Header\s+Column\s+(\w+)\s* getRowColumn 0,$1
# Function name in bold everything else is ignored
add; (?s).*<b>(.*)</b>.* set $1
# Function in the first line followed by a description in the following lines
add; (?s)^([^\n]*)\n.* set $1
# Default (match all pattern) catches every column name
add; .+ set $0
# The first matching rule is used. The below will never be used as it comes after the default rule
add; Last.* Unreachable
show collapsed to Json
$TestMethodExtractorConfiguration= get fixture

Test the above defined configuration


Hint: use this table to test your own definitions.


Test Object Method Extractor Configuration
example column name generated method name? parameter list?
hallo set [hallo]
Cell A:5 getRowColumn [5, A]
Named Cell BX:451 getRowColumn [451, BX]
Header Column F getRowColumn [0, F]
Cell 7 set [Cell 7]
hello This is a Description to explain the column purpose. It will be ignored for the function identitication setHello []
The bold word is the key in this long text setTheKey []
Last and Least set [Last and Least]


Test a JSON configuration string




Test Json Method Extractor Configuration having configuration { "FormatVersion":"1.0", "MethodExtractorRules":[ { "Scope":"char at (\\d)", "TargetName":"char at", "Parameters":"$1" }, { "Scope":"index of '(\\w)'", "TargetName":"index of", "Parameters":"$1" }, { "Scope":"Element\\s(\\d)", "TargetName":"get", "Parameters":"$1" }, { "Scope":"property\\s+(\\w*)\\s*", "TargetName":"get property", "Parameters":"$1" }, { "Scope":"has Value\\s+'(\\w*)'\\s*", "TargetName":"contains Value", "Parameters":"$1" }, { "Scope":"(?s).*<[b]>(.*).*", "TargetName":"set $1", "Parameters":"" }, { "Scope":"(?s)^([^\\n]*)\\n.*", "TargetName":"set $1", "Parameters":"" }, { "Scope":".+", "TargetName":"set $0", "Parameters":"" } ] }
example column name generated method name? parameter list?
hallo setHallo []
property abc getProperty [abc]
Element 5 get [5]
hello This is a Description to explain the column purpose. It will be ignored for the function identitication setHello []
The bold word is the key in this long text setTheKey []
no match setNoMatch []

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

Reset variables to get normal behaviour back.
variable defined: SLIM_DT_GETTER=
variable defined: SLIM_DT_SETTER=