def test_cgi_post
make_cgi{ |output|
output.print "#!/usr/local/bin/ruby\n"
output.print "STDOUT.binmode\n"
output.print "print \"Content-Type: text/plain\\r\\n\"\n"
output.print "print \"\\r\\n\"\n"
output.print "print STDIN.read\n"
}
@request.method = 'POST'
@request.uri =
@request.uri = '/test.cgi'
@request.version = 'HTTP/1.1'
messg = "Hello world.\n"
@request.set_header('Content-Type', 'text/plain')
@request.set_header('Content-Length', messg.length.to_s)
post_reader = PseudoIO.new
post_reader.write(messg)
@request.set_reader(post_reader)
@cgi.publish('', @request, @response, self)
assert_equal('HTTP/1.1', @messg_head.version)
assert_equal(200, @messg_head.status)
assert_equal('OK', @messg_head.reason)
assert_equal('/test.cgi', @messg_head.doc_path)
assert_match(@messg_head.local_path, /test\.cgi$/)
assert_equal('text/plain', @messg_head.header('Content-Type'))
assert_equal("Hello world.\n", @messg_body)
end