aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/string_coercion_test.rb
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-10-10 17:15:11 +0100
committerPratik Naik <pratiknaik@gmail.com>2009-10-10 17:15:11 +0100
commit66ee2654ff243f03595a402fa15e1eea1b5b45be (patch)
tree3f1055e03082f0c767719e8cba5155e4207779e0 /actionpack/test/dispatch/string_coercion_test.rb
parentdd2779e1b83b4d867d47dd286ec0c919f5df12a9 (diff)
parentb9ce8216fa849a47ad0b0f99fa510e226a23c12e (diff)
downloadrails-66ee2654ff243f03595a402fa15e1eea1b5b45be.tar.gz
rails-66ee2654ff243f03595a402fa15e1eea1b5b45be.tar.bz2
rails-66ee2654ff243f03595a402fa15e1eea1b5b45be.zip
Merge commit 'mainstream/master'
Diffstat (limited to 'actionpack/test/dispatch/string_coercion_test.rb')
-rw-r--r--actionpack/test/dispatch/string_coercion_test.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/string_coercion_test.rb b/actionpack/test/dispatch/string_coercion_test.rb
new file mode 100644
index 0000000000..d79b17b932
--- /dev/null
+++ b/actionpack/test/dispatch/string_coercion_test.rb
@@ -0,0 +1,40 @@
+require 'abstract_unit'
+
+class StringCoercionTest < ActiveSupport::TestCase
+ test "body responds to each" do
+ original_body = []
+ body = ActionDispatch::StringCoercion::UglyBody.new(original_body)
+
+ assert original_body.respond_to?(:each)
+ assert body.respond_to?(:each)
+ end
+
+ test "body responds to to_path" do
+ original_body = []
+ def original_body.to_path; end
+ body = ActionDispatch::StringCoercion::UglyBody.new(original_body)
+
+ assert original_body.respond_to?(:to_path)
+ assert body.respond_to?(:to_path)
+ end
+
+ test "body does not responds to to_path" do
+ original_body = []
+ body = ActionDispatch::StringCoercion::UglyBody.new(original_body)
+
+ assert !original_body.respond_to?(:to_path)
+ assert !body.respond_to?(:to_path)
+ end
+
+ test "calls to_s on body parts" do
+ app = lambda { |env|
+ [200, {'Content-Type' => 'html'}, [1, 2, 3]]
+ }
+ app = ActionDispatch::StringCoercion.new(app)
+ parts = []
+ status, headers, body = app.call({})
+ body.each { |part| parts << part }
+
+ assert_equal %w( 1 2 3 ), parts
+ end
+end