!2 This page tests !-PageHeader and PageFooter-!
 * The contents of the !-PageHeader-! should appear at the start of every page.  Likewise the contents of !-PageFooter-! should appear at the end of every page.  
 * Sub pages inherit the headers and footers of their parent, unless they have !-PageHeader-! and !-PageFooter-! siblings.
!3 Test normal header and footer without sub pages.
 * First create a normal page, plus header and footer pages.
|Page creator.|
|Page name.|Page contents.|Page attributes.|valid?|
|!-NormalPage-!|normal||true|
|!-PageHeader-!|header||true|
|!-PageFooter-!|footer||true|
 * Then request the normal page
|Response Requester.|
|uri|valid?|
|!-NormalPage-!|true|
 * Ensure that the header and and footer text appear in the normal page.
|Response Examiner.|
|type|pattern|matches?|value|
|contents|!-(header).*(normal).*(footer)-!|true||
----
!3 Test that sub pages inherit headers and footers.
 * Create a sub page
|Page creator.|
|Page name.|Page contents.|Page attributes.|valid?|
|!-NormalPage.SubPage-!|sub page||true|
 * Then request the Sub page
|Response Requester.|
|uri|valid?|
|!-NormalPage.SubPage-!|true|
 * Ensure that the header and and footer text are inherited by the sub page.
|Response Examiner.|
|type|pattern|matches?|value|
|contents|!-(header).*(sub page).*(footer)-!|true||
----
!3 Test that sub headers and sub footers override inherited headers and footers.
 * Create sub header and sub footer
|Page creator.|
|Page name.|Page contents.|Page attributes.|valid?|
|!-NormalPage.PageHeader-!|sub header||true|
|!-NormalPage.PageFooter-!|sub footer||true|
 * Then request the Sub page
|Response Requester.|
|uri|valid?|
|!-NormalPage.SubPage-!|true|
 * Ensure that the sub header and and sub footer text are inherited override their parents..
|Response Examiner.|
|type|pattern|matches?|value|
|contents|!-(sub header).*(sub page).*(sub footer)-!|true||


