Froze rails gems
[depot.git] / vendor / rails / actionpack / test / controller / integration_upload_test.rb
diff --git a/vendor/rails/actionpack/test/controller/integration_upload_test.rb b/vendor/rails/actionpack/test/controller/integration_upload_test.rb
new file mode 100644 (file)
index 0000000..4af9b7e
--- /dev/null
@@ -0,0 +1,43 @@
+require 'abstract_unit'
+require 'action_controller/integration'
+require 'action_controller/routing'
+
+unless defined? ApplicationController
+  class ApplicationController < ActionController::Base
+  end
+end
+
+class UploadTestController < ActionController::Base
+  session :off
+
+  def update
+    SessionUploadTest.last_request_type = ActionController::Base.param_parsers[request.content_type]
+    render :text => "got here"
+  end
+end
+
+class SessionUploadTest < ActionController::IntegrationTest
+  FILES_DIR = File.dirname(__FILE__) + '/../fixtures/multipart'
+
+  class << self
+    attr_accessor :last_request_type
+  end
+
+  # def setup
+  #   @session = ActionController::Integration::Session.new
+  # end
+  def test_post_with_upload
+    uses_mocha "test_post_with_upload" do
+      ActiveSupport::Dependencies.stubs(:load?).returns(false)
+      with_routing do |set|
+        set.draw do |map|
+          map.update 'update', :controller => "upload_test", :action => "update", :method => :post
+        end
+
+        params = { :uploaded_data => fixture_file_upload(FILES_DIR + "/mona_lisa.jpg", "image/jpg") }
+        post '/update', params, :location => 'blah'
+        assert_equal(:multipart_form, SessionUploadTest.last_request_type)
+      end
+    end
+   end
+end