summaryrefslogtreecommitdiff
path: root/test/spec_rack_utils.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/spec_rack_utils.rb')
-rw-r--r--test/spec_rack_utils.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/spec_rack_utils.rb b/test/spec_rack_utils.rb
index 4d748b33..10de53e8 100644
--- a/test/spec_rack_utils.rb
+++ b/test/spec_rack_utils.rb
@@ -29,7 +29,7 @@ context "Rack::Utils" do
Rack::Utils.parse_query("my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F").
should.equal "my weird field" => "q1!2\"'w$5&7/z8)?"
end
-
+
specify "should build query strings correctly" do
Rack::Utils.build_query("foo" => "bar").should.equal "foo=bar"
Rack::Utils.build_query("foo" => ["bar", "quux"]).
@@ -208,6 +208,19 @@ context "Rack::Utils::Multipart" do
params["files"][:tempfile].read.length.should.equal 26473
end
+ specify "should parse IE multipart upload and clean up filename" do
+ env = Rack::MockRequest.env_for("/", multipart_fixture(:ie))
+ params = Rack::Utils::Multipart.parse_multipart(env)
+ params["files"][:type].should.equal "text/plain"
+ params["files"][:filename].should.equal "file1.txt"
+ params["files"][:head].should.equal "Content-Disposition: form-data; " +
+ "name=\"files\"; " +
+ 'filename="C:\Documents and Settings\Administrator\Desktop\file1.txt"' +
+ "\r\nContent-Type: text/plain\r\n"
+ params["files"][:name].should.equal "files"
+ params["files"][:tempfile].read.should.equal "contents"
+ end
+
specify "rewinds input after parsing upload" do
options = multipart_fixture(:text)
input = options[:input]