def test_password_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 " @password = nil\n"
src_output.print " end\n"
src_output.print "\n"
src_output.print " attr_accessor :password\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 "<password name=\"Password\">\n"
map_output.print "<value type=\"accessor\">password</value>\n"
map_output.print "</password>\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 PasswordWidget</title></head>\n"
xml_output.print "<body>\n"
xml_output.print "<pm:widget name=\"Form\">\n"
xml_output.print "<p><pm:widget name=\"Password\" /></p>\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 PasswordWidget</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.Password.0\" name=\"MainPage.Password.0\" type=\"password\" /></p>\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_nil(@page.context.password)
@page.clear
@params['MainPage.Password.0'] = 'Hello world.'
dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
dst += "<head><title>test of PasswordWidget</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.Password.0\" name=\"MainPage.Password.0\" type=\"password\" /></p>\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('Hello world.', @page.context.password)
end