diff options
| author | Jon Leighton <j@jonathanleighton.com> | 2010-10-14 10:25:43 +0100 | 
|---|---|---|
| committer | Jon Leighton <j@jonathanleighton.com> | 2010-10-14 10:25:43 +0100 | 
| commit | 3fb493c2b037ffbdda5c91d66334ec6f79faa2d1 (patch) | |
| tree | e49b072103bbfe6fb6159954c786a31f44099325 /actionpack/test/controller/new_base/render_once_test.rb | |
| parent | 212fdd8ba9624f61421a7a950283537a3d39ac18 (diff) | |
| parent | 01ab6f961bff150d50c99f03fa3946f48ac29b17 (diff) | |
| download | rails-3fb493c2b037ffbdda5c91d66334ec6f79faa2d1.tar.gz rails-3fb493c2b037ffbdda5c91d66334ec6f79faa2d1.tar.bz2 rails-3fb493c2b037ffbdda5c91d66334ec6f79faa2d1.zip | |
Merge branch 'master' into nested_has_many_through
Conflicts:
	activerecord/lib/active_record/associations.rb
	activerecord/test/cases/associations/cascaded_eager_loading_test.rb
Diffstat (limited to 'actionpack/test/controller/new_base/render_once_test.rb')
| -rw-r--r-- | actionpack/test/controller/new_base/render_once_test.rb | 86 | 
1 files changed, 86 insertions, 0 deletions
| diff --git a/actionpack/test/controller/new_base/render_once_test.rb b/actionpack/test/controller/new_base/render_once_test.rb new file mode 100644 index 0000000000..3035ed4ff2 --- /dev/null +++ b/actionpack/test/controller/new_base/render_once_test.rb @@ -0,0 +1,86 @@ +require 'abstract_unit' + +module RenderTemplate +  class RenderOnceController < ActionController::Base +    layout false + +    RESOLVER = ActionView::FixtureResolver.new( +      "test/a.html.erb"       => "a", +      "test/b.html.erb"       => "<>", +      "test/c.html.erb"       => "c", +      "test/one.html.erb"     => "<%= render :once => 'result' %>", +      "test/two.html.erb"     => "<%= render :once => 'result' %>", +      "test/three.html.erb"   => "<%= render :once => 'result' %>", +      "test/result.html.erb"  => "YES!", +      "other/result.html.erb" => "NO!", +      "layouts/test.html.erb" => "l<%= yield %>l" +    ) + +    self.view_paths = [RESOLVER] + +    def _prefix +      "test" +    end + +    def multiple +      render :once => %w(a b c) +    end + +    def once +      render :once => %w(one two three) +    end + +    def duplicate +      render :once => %w(a a a) +    end + +    def with_layout +      render :once => %w(a b c), :layout => "test" +    end + +    def with_prefix +      render :once => "result", :prefix => "other" +    end + +    def with_nil_prefix +      render :once => "test/result", :prefix => nil +    end +  end + +  module Tests +    def test_mutliple_arguments_get_all_rendered +      get :multiple +      assert_response "a\n<>\nc" +    end + +    def test_referenced_templates_get_rendered_once +      get :once +      assert_response "YES!\n\n" +    end + +    def test_duplicated_templates_get_rendered_once +      get :duplicate +      assert_response "a" +    end + +    def test_layout_wraps_all_rendered_templates +      get :with_layout +      assert_response "la\n<>\ncl" +    end + +    def test_with_prefix_option +      get :with_prefix +      assert_response "NO!" +    end + +    def test_with_nil_prefix_option +      get :with_nil_prefix +      assert_response "YES!" +    end +  end + +  class TestRenderOnce < Rack::TestCase +    testing RenderTemplate::RenderOnceController +    include Tests +  end +end | 
