# File test/test_wpm_page.rb, line 567
    def test_hyperlink_widget_with_action_and_query
      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 "    @message = nil\n"
        src_output.print "  end\n"
        src_output.print "\n"
        src_output.print "  attr_reader :message\n"
        src_output.print "\n"
        src_output.print "  def hello\n"
        src_output.print "    @message = 'Hello world.'\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 "<hyperlink name=\"Hello\">\n"
        map_output.print "<action type=\"method\">hello</action>\n"
        map_output.print "<query type=\"eval\">{ 'debug' =&gt; 'true' }</query>\n"
        map_output.print "</hyperlink>\n"
        map_output.print "\n"
        map_output.print "<string name=\"Message\">\n"
        map_output.print "<value type=\"accessor\">message</value>\n"
        map_output.print "</string>\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 HyperlinkWidget</title></head>\n"
        xml_output.print "<body>\n"
        xml_output.print "<ul>\n"
        xml_output.print "<li><pm:widget name=\"Hello\">hello action</pm:widget></li>\n"
        xml_output.print "<li><pm:widget name=\"Message\" /></li>\n"
        xml_output.print "</ul>\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 HyperlinkWidget</title></head>\n"
      dst += "<body>\n"
      dst += "<ul>\n"
      dst += "<li><a href=\"/PageMaker/MainPage?action=MainPage.Hello.0&amp;debug=true\">hello action</a></li>\n"
      dst += "<li></li>\n"
      dst += "</ul>\n"
      dst += "</body>\n"
      dst += "</html>"
      assert_equal(dst, run_page)
      assert_equal(1, @params_call)
      assert_equal(1, @page_path_call)
      assert_nil(@page.context.message)

      @page.clear
      @params['action'] = 'MainPage.Hello.0'
      dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
      dst += "<head><title>test of HyperlinkWidget</title></head>\n"
      dst += "<body>\n"
      dst += "<ul>\n"
      dst += "<li><a href=\"/PageMaker/MainPage?action=MainPage.Hello.0&amp;debug=true\">hello action</a></li>\n"
      dst += "<li>Hello world.</li>\n"
      dst += "</ul>\n"
      dst += "</body>\n"
      dst += "</html>"
      assert_equal(dst, run_page)
      assert_equal(2, @params_call)
      assert_equal(2, @page_path_call)
      assert_equal('Hello world.', @page.context.message)

      @page.clear
      @path_info = '/Foo/Bar'
      @params['action'] = 'MainPage.Hello.0'
      dst = "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
      dst += "<head><title>test of HyperlinkWidget</title></head>\n"
      dst += "<body>\n"
      dst += "<ul>\n"
      dst += "<li><a href=\"/PageMaker/MainPage/Foo/Bar?action=MainPage.Hello.0&amp;debug=true\">hello action</a></li>\n"
      dst += "<li>Hello world.</li>\n"
      dst += "</ul>\n"
      dst += "</body>\n"
      dst += "</html>"
      assert_equal(dst, run_page)
      assert_equal(3, @params_call)
      assert_equal(3, @page_path_call)
      assert_equal('Hello world.', @page.context.message)
    end