def test_listed_radio_button_widget_with_selected
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 " @list = [ 'foo', 'bar', 'baz' ]\n"
src_output.print " @item = nil\n"
src_output.print " @call_index = nil\n"
src_output.print " @selected = 'foo'\n"
src_output.print " end\n"
src_output.print "\n"
src_output.print " attr_reader :list\n"
src_output.print " attr_accessor :item\n"
src_output.print " attr_writer :call_index\n"
src_output.print " attr_accessor :selected\n"
src_output.print "\n"
src_output.print " def value\n"
src_output.print " @list[@call_index]\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 "<form name=\"Form\">\n"
map_output.print "</form>\n"
map_output.print "\n"
map_output.print "<foreach name=\"List\">\n"
map_output.print "<list type=\"accessor\">list</list>\n"
map_output.print "<item type=\"accessor\">item</item>\n"
map_output.print "</foreach>\n"
map_output.print "\n"
map_output.print "<radio name=\"RadioButton\">\n"
map_output.print "<call-index type=\"accessor\">call_index</call-index>\n"
map_output.print "<value type=\"accessor\">value</value>\n"
map_output.print "<selected type=\"accessor\">selected</selected>\n"
map_output.print "</radio>\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 RadioButtonWidget</title></head>\n"
xml_output.print "<body>\n"
xml_output.print "<pm:widget name=\"Form\">\n"
xml_output.print "<ol>\n"
xml_output.print "<pm:widget name=\"List\"\n"
xml_output.print "><li><pm:widget name=\"RadioButton\" /></li>\n"
xml_output.print "</pm:widget\n"
xml_output.print "></ol>\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 RadioButtonWidget</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 += "<ol>\n"
dst += "<li><input id=\"MainPage.RadioButton.0\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"foo\" checked=\"checked\" /></li>\n"
dst += "<li><input id=\"MainPage.RadioButton.1\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"bar\" /></li>\n"
dst += "<li><input id=\"MainPage.RadioButton.2\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"baz\" /></li>\n"
dst += "</ol>\n"
dst += "</form>\n"
dst += "</body>\n"
dst += "</html>\n"
assert_equal(dst, run_page)
assert_equal(1, @params_call)
assert_equal(0, @page_path_call)
assert_equal('foo', @page.context.selected)
@page.clear
@params['_wpm_submit_'] = 'MainPage.Form.0'
@params['MainPage.RadioButton'] = 'bar'
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of RadioButtonWidget</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 += "<ol>\n"
dst += "<li><input id=\"MainPage.RadioButton.0\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"foo\" /></li>\n"
dst += "<li><input id=\"MainPage.RadioButton.1\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"bar\" checked=\"checked\" /></li>\n"
dst += "<li><input id=\"MainPage.RadioButton.2\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"baz\" /></li>\n"
dst += "</ol>\n"
dst += "</form>\n"
dst += "</body>\n"
dst += "</html>\n"
assert_equal(dst, run_page)
assert_equal(2, @params_call)
assert_equal(0, @page_path_call)
assert_equal('bar', @page.context.selected)
@page.clear
@params['_wpm_submit_'] = 'MainPage.Form.0'
@params['MainPage.RadioButton'] = 'baz'
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of RadioButtonWidget</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 += "<ol>\n"
dst += "<li><input id=\"MainPage.RadioButton.0\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"foo\" /></li>\n"
dst += "<li><input id=\"MainPage.RadioButton.1\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"bar\" /></li>\n"
dst += "<li><input id=\"MainPage.RadioButton.2\" name=\"MainPage.RadioButton\" type=\"radio\" value=\"baz\" checked=\"checked\" /></li>\n"
dst += "</ol>\n"
dst += "</form>\n"
dst += "</body>\n"
dst += "</html>\n"
assert_equal(dst, run_page)
assert_equal(3, @params_call)
assert_equal(0, @page_path_call)
assert_equal('baz', @page.context.selected)
end