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


Evaluator of expressions: ${= =}

Syntax

       ${= [format:] expression =} 

Expression

An expression may be a combination of constants, variables, and opertors. All internal calculations use the Java double numeric type.

Format

A format is a specifier that describes the rendering of the numeric result. The format specifier is described by the Java 5 String class's .format() method:
       %[flags][width][.precision]conversion
*!note N.B., The [argument_index$] specifier is not permitted.

Additionally, a formatting locale can be defined by setting the variable FORMAT_LOCALE to override the default JVM locale.

Links

Examples

    ${= 12 + 23 =} renders (sand brackets) as [35]
    ${=%5.4f:1.414=} : [1.4140]
    ${=%05X:14+14=}  : [0001C]
    ${= %-10s : 123 =}   : [123       ]


And when specifying a formatting locale:
    !define FORMAT_LOCALE {fr}
    ${=%5.4f:1.414=} : [1,4140]

Operators supported

Comment

Spaces between items are optional

Operator Argument Description
arg
constant or variable Examples: 3, 12.4, 4E+8, ${VALUE}, ${some.var}
expr
expression
Any valid combination of arguments and optional operations and parentheses
+
expr + expr
Addition
-
-expr
Unary negation
-
expr - expr
Subtraction
*
expr * expr
Multiplication
/
expr / expr
Division
^
expr ^ expr
Exponentiation
sin
sin expr
Radian Sine of expr
cos
cos expr
Radian Cosine of expr
tan
cos expr
Radian Tangent of expr
( )
( expr )
Parenthetical grouping of an expression


Test Blank Expressions

Build blank expression page
script
start Page Builder
line ~1a:${==}~
line ~1b:${= =}~
line ~1c:${= =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~1a:~ true
contents ~1b:~ true
contents ~1c:~ true



Test Single Argument Expressions

Build expression page
script
start Page Builder
line ~2a:${=3=}~
line ~2b:${= 4.2 =}~
line ~2c:${= 2E+1 =}~
line ~2d:${= 2.3E+42 =}~
line ~2e:${= 4.2E + 24 =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~2a:3~ true
contents ~2b:4.2~ true
contents ~2c:20~ true
contents ~2d:2.3E+42~ true
contents ~2e:4.2E+24~ true



Test spaces around experssions

Build expression page
script
start Page Builder
line ~3a:${=1+1=}~
line ~3b:${=2 + 2=}~
line ~3c:${= 3 + 3=}~
line ~3d:${=4 + 4 =}~
line ~3e:${=5 +5 =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~3a:2~ true
contents ~3b:4~ true
contents ~3c:6~ true
contents ~3d:8~ true
contents ~3e:10~ true



Test each operator

Build expression page
script
start Page Builder
line ~4plus:${= 1 + 2 =}~
line ~4minus:${= 2 - 3 =}~
line ~4unary:${= -12 =}~
line ~4mult:${= 3 * 4 =}~
line ~4div:${= 4 / 5 =}~
line ~4exp:${=%2d: 5 ^ 6 =}~
line ~4sin1:${=%5.4f: sin0.39269875 =}~
line ~4sin2:${=%5.4f: sin 0.39269875 =}~
line ~4sin3:${=%5.4f: sin(0.39269875) =}~
line ~4sin4:${=%5.4f: sin(3.14159/8) =}~
line ~4sin5:${=%5.4f: sin (3.14159/8) =}~
line ~4cos:${=%5.4f: cos(3.14159 / 8) =}~
line ~4tan:${=%5.4f: tan(3.14159 / 8) =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~4plus:3~ true
contents ~4minus:-1~ true
contents ~4unary:-12~ true
contents ~4mult:12~ true
contents ~4div:0.8~ true
contents ~4exp:15625~ true
contents ~4sin1:0.3827~ true
contents ~4sin2:0.3827~ true
contents ~4sin3:0.3827~ true
contents ~4sin4:0.3827~ true
contents ~4sin5:0.3827~ true
contents ~4cos:0.9239~ true
contents ~4tan:0.4142~ true



Test parentheses

Build expression page
script
start Page Builder
line ~5a:${= 2 * 3 + 4 / 2 - 3 =}~
line ~5b:${= 2 * ( 3 + 4 ) / 2 - 3 =}~
line ~5c:${= 2 * ( 3 + 4 ) / ( 2 - 3 ) =}~
line ~5d:${= 2 * ( 3 + ( 4 / ( 2 - 3 ) ) ) =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~5a:5~ true
contents ~5b:4~ true
contents ~5c:-14~ true
contents ~5d:-2~ true



Test formatting

Build expression page
script
start Page Builder
line ~6a:${=%d:2 =}~
line ~6b:${= %d : 3.2 =}~
line ~6c:${=%02d: 2 + 1 =}~
line ~6d:${= %4.4f: 2.2 / 3.4 =}~
line ~6e:${=%03o: 16 =}~
line ~6f:${= %03o : 18 =}~
line ~6g:${=%03x: 26 =}~
line ~6h:${=%03X: 27 =}~
line ~6i:${= %-12s : 123 =}~
line ~6j:${=%TY: 73422123127 =}~
line ~6k:${=%b: 27 =}~
line ~6l:${=%b: 0 =}~
line ~6m:${=%B: 27 =}~
line ~6n:${=%B: 0 =}~
line ~6o:${= % d : 3.2 =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~6a:2~ true
contents ~6b:3~ true
contents ~6c:03~ true
contents ~6d:0.6471~ true
contents ~6e:020~ true
contents ~6f:022~ true
contents ~6g:01a~ true
contents ~6h:01B~ true
contents ~6i:123&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ true
contents ~6j:1972~ true
contents ~6k:true~ true
contents ~6l:false~ true
contents ~6m:true~ true
contents ~6n:false~ true
contents ~6o: 3~ true



Test formatting with specific locale

Build expression page
script
start Page Builder
line !define FORMAT_LOCALE {fr}
line ~7a:${= %4.4f: 2.2 / 3.4 =}~
page ExpressionPage

Render it
Response Requester
uri valid?
ExpressionPage true

Contents

Response Examiner
type string?
contents

Response Examiner
type wrapped html?
contents


Verify results
Response Examiner
type pattern matches?
contents ~7a:0,6471~ true

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



tear down