def test_listed_checkbox_widget_with_checked
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 " @call_index = nil\n"
src_output.print " @item = nil\n"
src_output.print " @checked = Hash.new\n"
src_output.print " end\n"
src_output.print "\n"
src_output.print " attr_accessor :call_index\n"
src_output.print " attr_accessor :item\n"
src_output.print "\n"
src_output.print " def checked\n"
src_output.print " if (@checked.include? @call_index) then\n"
src_output.print " return @checked[@call_index]\n"
src_output.print " elsif (@call_index == 7) then\n"
src_output.print " return true\n"
src_output.print " else\n"
src_output.print " return false\n"
src_output.print " end\n"
src_output.print " end\n"
src_output.print "\n"
src_output.print " def checked=(new_checked)\n"
src_output.print " @checked[@call_index] = new_checked\n"
src_output.print " end\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 "\n"
map_output.print "<repeat name=\"Repeat\">\n"
map_output.print "<times type=\"number\">2</times>\n"
map_output.print "</repeat>\n"
map_output.print "\n"
map_output.print "<foreach name=\"List\">\n"
map_output.print "<list type=\"eval\">1..5</list>\n"
map_output.print "<item type=\"accessor\">item</item>\n"
map_output.print "</foreach>\n"
map_output.print "\n"
map_output.print "<form name=\"Form\">\n"
map_output.print "</form>\n"
map_output.print "\n"
map_output.print "<checkbox name=\"Checkbox\">\n"
map_output.print "<call-index type=\"accessor\">call_index</call-index>\n"
map_output.print "<checked type=\"accessor\">checked</checked>\n"
map_output.print "</checkbox>\n"
map_output.print "\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 CheckboxWidget</title></head>\n"
xml_output.print "<body>\n"
xml_output.print "<pm:widget name=\"Repeat\"\n"
xml_output.print "><pm:widget name=\"Form\">\n"
xml_output.print "<pm:widget name=\"List\"\n"
xml_output.print "><p><pm:widget name=\"Checkbox\" /></p>\n"
xml_output.print "</pm:widget\n"
xml_output.print "></pm:widget>\n"
xml_output.print "</pm:widget\n"
xml_output.print "></body>\n"
xml_output.print "</html>\n"
}
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of CheckboxWidget</title></head>\n"
dst += "<body>\n"
dst += "<form id=\"MainPage.Form.0\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">"
dst += "<div style=\"display: none\"><input type=\"hidden\" name=\"_wpm_submit_\" value=\"MainPage.Form.0\" /></div>\n"
dst += "<p><input id=\"MainPage.Checkbox.0\" name=\"MainPage.Checkbox.0\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.1\" name=\"MainPage.Checkbox.1\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.2\" name=\"MainPage.Checkbox.2\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.3\" name=\"MainPage.Checkbox.3\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.4\" name=\"MainPage.Checkbox.4\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "</form>\n"
dst += "<form id=\"MainPage.Form.1\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">"
dst += "<div style=\"display: none\"><input type=\"hidden\" name=\"_wpm_submit_\" value=\"MainPage.Form.1\" /></div>\n"
dst += "<p><input id=\"MainPage.Checkbox.5\" name=\"MainPage.Checkbox.5\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.6\" name=\"MainPage.Checkbox.6\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.7\" name=\"MainPage.Checkbox.7\" type=\"checkbox\" value=\"\" checked=\"checked\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.8\" name=\"MainPage.Checkbox.8\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.9\" name=\"MainPage.Checkbox.9\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "</form>\n"
dst += "</body>\n"
dst += "</html>"
assert_equal(dst, run_page)
assert_equal(1, @params_call)
assert_equal(0, @page_path_call)
@page.context.call_index = 0
assert_equal(false, @page.context.checked)
@page.context.call_index = 1
assert_equal(false, @page.context.checked)
@page.context.call_index = 2
assert_equal(false, @page.context.checked)
@page.context.call_index = 3
assert_equal(false, @page.context.checked)
@page.context.call_index = 4
assert_equal(false, @page.context.checked)
@page.context.call_index = 5
assert_equal(false, @page.context.checked)
@page.context.call_index = 6
assert_equal(false, @page.context.checked)
@page.context.call_index = 7
assert_equal(true, @page.context.checked)
@page.context.call_index = 8
assert_equal(false, @page.context.checked)
@page.context.call_index = 9
assert_equal(false, @page.context.checked)
@page.clear
@params['_wpm_submit_'] = 'MainPage.Form.1'
@params['MainPage.Checkbox.5'] = ''
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of CheckboxWidget</title></head>\n"
dst += "<body>\n"
dst += "<form id=\"MainPage.Form.0\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">"
dst += "<div style=\"display: none\"><input type=\"hidden\" name=\"_wpm_submit_\" value=\"MainPage.Form.0\" /></div>\n"
dst += "<p><input id=\"MainPage.Checkbox.0\" name=\"MainPage.Checkbox.0\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.1\" name=\"MainPage.Checkbox.1\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.2\" name=\"MainPage.Checkbox.2\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.3\" name=\"MainPage.Checkbox.3\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.4\" name=\"MainPage.Checkbox.4\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "</form>\n"
dst += "<form id=\"MainPage.Form.1\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">"
dst += "<div style=\"display: none\"><input type=\"hidden\" name=\"_wpm_submit_\" value=\"MainPage.Form.1\" /></div>\n"
dst += "<p><input id=\"MainPage.Checkbox.5\" name=\"MainPage.Checkbox.5\" type=\"checkbox\" value=\"\" checked=\"checked\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.6\" name=\"MainPage.Checkbox.6\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.7\" name=\"MainPage.Checkbox.7\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.8\" name=\"MainPage.Checkbox.8\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "<p><input id=\"MainPage.Checkbox.9\" name=\"MainPage.Checkbox.9\" type=\"checkbox\" value=\"\" /></p>\n"
dst += "</form>\n"
dst += "</body>\n"
dst += "</html>"
assert_equal(dst, run_page)
assert_equal(2, @params_call)
assert_equal(0, @page_path_call)
@page.context.call_index = 0
assert_equal(false, @page.context.checked)
@page.context.call_index = 1
assert_equal(false, @page.context.checked)
@page.context.call_index = 2
assert_equal(false, @page.context.checked)
@page.context.call_index = 3
assert_equal(false, @page.context.checked)
@page.context.call_index = 4
assert_equal(false, @page.context.checked)
@page.context.call_index = 5
assert_equal(true, @page.context.checked)
@page.context.call_index = 6
assert_equal(false, @page.context.checked)
@page.context.call_index = 7
assert_equal(false, @page.context.checked)
@page.context.call_index = 8
assert_equal(false, @page.context.checked)
@page.context.call_index = 9
assert_equal(false, @page.context.checked)
end