aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/template/template_test.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-10-10 13:43:32 +0200
committerJosé Valim <jose.valim@gmail.com>2010-10-10 13:43:32 +0200
commit11aa5157355d06ddbc9cad8fd0aa43a75ac8431e (patch)
treee40196b0a9aad3113d5e248a171636576a98ec14 /actionpack/test/template/template_test.rb
parentffa32714bd339ae32355a6827750e1af81454a1b (diff)
downloadrails-11aa5157355d06ddbc9cad8fd0aa43a75ac8431e.tar.gz
rails-11aa5157355d06ddbc9cad8fd0aa43a75ac8431e.tar.bz2
rails-11aa5157355d06ddbc9cad8fd0aa43a75ac8431e.zip
Add expire! and rerender to the template API. This will be used by SASS template handler.
Diffstat (limited to 'actionpack/test/template/template_test.rb')
-rw-r--r--actionpack/test/template/template_test.rb49
1 files changed, 47 insertions, 2 deletions
diff --git a/actionpack/test/template/template_test.rb b/actionpack/test/template/template_test.rb
index 34679962b2..22401dd145 100644
--- a/actionpack/test/template/template_test.rb
+++ b/actionpack/test/template/template_test.rb
@@ -90,20 +90,65 @@ class TestERBTemplate < ActiveSupport::TestCase
assert_equal "hellopartialhello", render
end
- def test_refresh
+ def test_refresh_with_templates
@template = new_template("Hello", :virtual_path => "test/foo")
@template.locals = [:key]
@context.lookup_context.expects(:find_template).with("foo", "test", false, [:key]).returns("template")
assert_equal "template", @template.refresh(@context)
end
+ def test_refresh_with_partials
+ @template = new_template("Hello", :virtual_path => "test/_foo")
+ @template.locals = [:key]
+ @context.lookup_context.expects(:find_template).with("foo", "test", true, [:key]).returns("partial")
+ assert_equal "partial", @template.refresh(@context)
+ end
+
def test_refresh_raises_an_error_without_virtual_path
@template = new_template("Hello", :virtual_path => nil)
- assert_raise RuntimeError, /OMG/ do
+ assert_raise RuntimeError do
@template.refresh(@context)
end
end
+ def test_template_expire_sets_the_timestamp_to_1970
+ @template = new_template("Hello", :updated_at => Time.utc(2010))
+ assert_equal Time.utc(2010), @template.updated_at
+ @template.expire!
+ assert_equal Time.utc(1970), @template.updated_at
+ end
+
+ def test_template_rerender_renders_a_template_like_self
+ @template = new_template("Hello", :virtual_path => "test/foo_bar")
+ @context.expects(:render).with(:template => "test/foo_bar").returns("template")
+ assert_equal "template", @template.rerender(@context)
+ end
+
+ def test_template_rerender_renders_a_root_template_like_self
+ @template = new_template("Hello", :virtual_path => "foo_bar")
+ @context.expects(:render).with(:template => "foo_bar").returns("template")
+ assert_equal "template", @template.rerender(@context)
+ end
+
+ def test_template_rerender_renders_a_partial_like_self
+ @template = new_template("Hello", :virtual_path => "test/_foo_bar")
+ @context.expects(:render).with(:partial => "test/foo_bar").returns("partial")
+ assert_equal "partial", @template.rerender(@context)
+ end
+
+ def test_template_rerender_renders_a_root_partial_like_self
+ @template = new_template("Hello", :virtual_path => "_foo_bar")
+ @context.expects(:render).with(:partial => "foo_bar").returns("partial")
+ assert_equal "partial", @template.rerender(@context)
+ end
+
+ def test_rerender_raises_an_error_without_virtual_path
+ @template = new_template("Hello", :virtual_path => nil)
+ assert_raise RuntimeError do
+ @template.rerender(@context)
+ end
+ end
+
if "ruby".encoding_aware?
def test_resulting_string_is_utf8
@template = new_template