From 0ba4526d06e16ee496c581d7cf5a9fee801b3109 Mon Sep 17 00:00:00 2001 From: naruse Date: Mon, 5 Nov 2012 02:34:17 +0000 Subject: * lib/cgi/core.rb: check if Tempfile is defined before use it. * lib/cgi/core.rb: remove tempfiles only if tempfiles exist git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/cgi/test_cgi_multipart.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test') diff --git a/test/cgi/test_cgi_multipart.rb b/test/cgi/test_cgi_multipart.rb index 62fcc8b0c5..ea40535dfd 100644 --- a/test/cgi/test_cgi_multipart.rb +++ b/test/cgi/test_cgi_multipart.rb @@ -2,6 +2,7 @@ require 'test/unit' require 'cgi' require 'tempfile' require 'stringio' +require_relative '../ruby/envutil' ## @@ -332,6 +333,34 @@ class CGIMultipartTest < Test::Unit::TestCase cgi['file'].unlink if cgi['file'].kind_of? Tempfile end + def test_cgi_multipart_without_tempfile + assert_in_out_err([], <<-'EOM') + require 'cgi' + require 'stringio' + ENV['REQUEST_METHOD'] = 'POST' + ENV['CONTENT_TYPE'] = 'multipart/form-data; boundary=foobar1234' + body = <<-BODY +--foobar1234 +Content-Disposition: form-data: name=\"name1\" + +value1 +--foobar1234 +Content-Disposition: form-data: name=\"file1\"; filename=\"file1.html\" +Content-Type: text/html + + +

Hello

+ + +--foobar1234-- +BODY + body.gsub!(/\n/, "\r\n") + ENV['CONTENT_LENGTH'] = body.size.to_s + $stdin = StringIO.new(body) + CGI.new + EOM + end + ### self.instance_methods.each do |method| -- cgit v1.2.3