def test_if_widget
build_page{|src_output, map_output, xml_output|
src_output.print "class MainPage < WPM::PageContext\n"
src_output.print " def init_context\n"
src_output.print " @condition = true\n"
src_output.print " end\n"
src_output.print "\n"
src_output.print " attr_accessor :condition\n"
src_output.print "end\n"
map_output.print "<?xml version=\"1.0\"?>\n"
map_output.print "<map xmlns=\"http://www.freedom.ne.jp/toki/ruby/PageMaker/Map\">\n"
map_output.print "<if name=\"IfWidget\">\n"
map_output.print "<condition type=\"accessor\">condition</condition>\n"
map_output.print "</if>\n"
map_output.print "</map>\n"
xml_output.print "<?xml version=\"1.0\"?>\n"
xml_output.print "<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:pm=\"http://www.freedom.ne.jp/toki/ruby/PageMaker\">\n"
xml_output.print "<head><title>test of IfWidget</title></head>\n"
xml_output.print "<body><p><pm:widget name=\"IfWidget\">Hello world.</pm:widget></p></body>\n"
xml_output.print "</html>\n"
}
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of IfWidget</title></head>\n"
dst += "<body><p>Hello world.</p></body>\n"
dst += "</html>"
assert_equal(dst, run_page)
assert_equal(0, @params_call)
assert_equal(0, @page_path_call)
assert_equal(true, @page.context.condition)
@page.clear
@page.context_hook{|context|
context.condition = false
}
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of IfWidget</title></head>\n"
dst += "<body><p></p></body>\n"
dst += "</html>"
assert_equal(dst, run_page)
assert_equal(0, @params_call)
assert_equal(0, @page_path_call)
assert_equal(false, @page.context.condition)
end