diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-19 03:30:01 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-19 03:31:55 -0700 |
commit | 0d5b50ee3a6d65471f311980b9b6e49fe4b4a021 (patch) | |
tree | 917f49063f4ea60ed3edb7532435c9fcd002a18a /actionpack/test | |
parent | 6335f5d5186dfb97453dfa1a55aabe4c6f3962b0 (diff) | |
download | rails-0d5b50ee3a6d65471f311980b9b6e49fe4b4a021.tar.gz rails-0d5b50ee3a6d65471f311980b9b6e49fe4b4a021.tar.bz2 rails-0d5b50ee3a6d65471f311980b9b6e49fe4b4a021.zip |
pluginize concurrent block body part
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/template/body_parts_test.rb | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/actionpack/test/template/body_parts_test.rb b/actionpack/test/template/body_parts_test.rb index 209f6ec1ff..4c82b75cdc 100644 --- a/actionpack/test/template/body_parts_test.rb +++ b/actionpack/test/template/body_parts_test.rb @@ -1,5 +1,4 @@ require 'abstract_unit' -require 'action_view/body_parts/concurrent_block' class BodyPartsTest < ActionController::TestCase RENDERINGS = [Object.new, Object.new, Object.new] @@ -21,82 +20,3 @@ class BodyPartsTest < ActionController::TestCase assert_equal RENDERINGS.join, @response.body end end - -class ConcurrentBlockPartTest < ActionController::TestCase - class TestController < ActionController::Base - def index - append_thread_id = lambda do |parts| - parts << Thread.current.object_id - parts << '::' - parts << Time.now.to_i - sleep 0.1 - end - - future_render &append_thread_id - response.body_parts << '-' - - future_render &append_thread_id - response.body_parts << '-' - - future_render do |parts| - parts << ActionView::BodyParts::ConcurrentBlock.new(&append_thread_id) - parts << '-' - parts << ActionView::BodyParts::ConcurrentBlock.new(&append_thread_id) - end - - @performed_render = true - end - - def future_render(&block) - response.template.punctuate_body! ActionView::BodyParts::ConcurrentBlock.new(&block) - end - end - - tests TestController - - def test_concurrent_threaded_parts - get :index - - elapsed = Benchmark.ms do - thread_ids = @response.body.split('-').map { |part| part.split('::').first.to_i } - assert_equal thread_ids.size, thread_ids.uniq.size - end - assert (elapsed - 100).abs < 10, elapsed - end -end - - -class OpenUriPartTest < ActionController::TestCase - class OpenUriPart < ActionView::BodyParts::ConcurrentBlock - def initialize(url) - url = URI::Generic === url ? url : URI.parse(url) - super() { |body| body << url.read } - end - end - - class TestController < ActionController::Base - def index - render_url 'http://localhost/foo' - render_url 'http://localhost/bar' - render_url 'http://localhost/baz' - @performed_render = true - end - - def render_url(url) - url = URI.parse(url) - def url.read; sleep 0.1; path end - response.template.punctuate_body! OpenUriPart.new(url) - end - end - - tests TestController - - def test_concurrent_open_uri_parts - get :index - - elapsed = Benchmark.ms do - assert_equal '/foo/bar/baz', @response.body - end - assert (elapsed - 100).abs < 10, elapsed - end -end |