When a variable is expressed on a page, if that variable was not defined on that page, then FitNesse looks on the parent pages until it finds one that has the variable.
Test parent variable
Build parent page with variable definition.
script
start
Page Builder
line
!define x {1}
page
ParentPage
Build sub page with variable expression
script
start
Page Builder
line
x is ${x}
page
ParentPage.SubPage
fetch sub page.
Response Requester.
uri
valid?
contents?
ParentPage.SubPage
true
Make sure variable was expressed.
Response Examiner.
type
pattern
matches?
wrapped html?
contents
x is 1
true
Make sure child variables override parent variables.
Build sub page with both variable definition and expression.
script
start
Page Builder
line
!define x {2}
line
x is ${x}
page
ParentPage.SubPageTwo
fetch sub page.
Response Requester.
uri
valid?
contents?
ParentPage.SubPageTwo
true
Make sure variable definition from sub page was expressed.