diff options
| -rw-r--r-- | actionpack/test/new_base/fixture_view_path_test.rb | 69 | 
1 files changed, 69 insertions, 0 deletions
| diff --git a/actionpack/test/new_base/fixture_view_path_test.rb b/actionpack/test/new_base/fixture_view_path_test.rb new file mode 100644 index 0000000000..482607474f --- /dev/null +++ b/actionpack/test/new_base/fixture_view_path_test.rb @@ -0,0 +1,69 @@ +require File.join(File.expand_path(File.dirname(__FILE__)), "test_helper") + +module ActionView #:nodoc: +  class FixtureTemplate < Template +    class FixturePath < Template::Path +      def initialize(hash) +        @hash = {} +         +        hash.each do |k, v| +          @hash[k.sub(/\.\w+$/, '')] = FixtureTemplate.new(v, k.split("/").last, self) +        end +         +        super("") +      end +       +      def find_template(path) +        @hash[path] +      end +    end +     +    def initialize(body, template_path, load_paths = []) +      @body = body +    end +     +    def relative_path +      "fail" +    end +     +    def filename +      "fail" +    end +     +    def method_name_without_locals +      "abc" +    end +     +    def source +      @body +    end +  end +end + +OMG = { +  "happy_path/render_action/hello_world.html.erb" => "Hello world!" +} + +module HappyPath +   +  # This has no layout and it works +  class RenderActionController < ActionController::Base2 +     +    self.view_paths = [ActionView::FixtureTemplate::FixturePath.new(OMG)] +     +    def render_action_hello_world +      render :action => "hello_world" +    end +     +  end +   +  class TestRenderAction < SimpleRouteCase + +    describe "Rendering an action using :action => <String>" + +    get "/happy_path/render_action/render_action_hello_world" +    assert_body   "Hello world!" +    assert_status 200 + +  end +end
\ No newline at end of file | 
