From 1dacc19702f88a18a57615d1a5eeab3d0f5f9007 Mon Sep 17 00:00:00 2001 From: Carlhuda Date: Thu, 18 Mar 2010 17:32:53 -0700 Subject: Return a valid Rack response from bare ActionController::Metal --- .../test/controller/new_base/bare_metal_test.rb | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 actionpack/test/controller/new_base/bare_metal_test.rb (limited to 'actionpack/test/controller/new_base/bare_metal_test.rb') diff --git a/actionpack/test/controller/new_base/bare_metal_test.rb b/actionpack/test/controller/new_base/bare_metal_test.rb new file mode 100644 index 0000000000..df4b39a103 --- /dev/null +++ b/actionpack/test/controller/new_base/bare_metal_test.rb @@ -0,0 +1,27 @@ +require "abstract_unit" + +module BareMetalTest + class BareController < ActionController::Metal + def index + self.response_body = "Hello world" + end + end + + class BareTest < ActiveSupport::TestCase + test "response body is a Rack-compatible response" do + status, headers, body = BareController.action(:index).call(Rack::MockRequest.env_for("/")) + assert_equal 200, status + string = "" + + body.each do |part| + assert part.is_a?(String), "Each part of the body must be a String" + string << part + end + + assert headers.is_a?(Hash), "Headers must be a Hash" + assert headers["Content-Type"], "Content-Type must exist" + + assert_equal "Hello world", string + end + end +end \ No newline at end of file -- cgit v1.2.3