!2 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}-! ----- !3 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="Variable!--!Page"!->-!Variable!--!Page|true| |contents|PAGE_PATH is .|true| ---- !3 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|| ---- !3 Test literals in variables with {} and () syntax. !note 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|| ---- !3 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||