aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/template/compiled_templates_test.rb
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2008-01-22 01:46:34 +0000
committerMichael Koziarski <michael@koziarski.com>2008-01-22 01:46:34 +0000
commitc0110a9faa1fc414c960a1c639aa8b121d92ca82 (patch)
tree0e618f0c76ffb3fcb973859977f91d4ee9f7cf6d /actionpack/test/template/compiled_templates_test.rb
parent91de20d6212b5203587d549ce2d63efcc5996eb0 (diff)
downloadrails-c0110a9faa1fc414c960a1c639aa8b121d92ca82.tar.gz
rails-c0110a9faa1fc414c960a1c639aa8b121d92ca82.tar.bz2
rails-c0110a9faa1fc414c960a1c639aa8b121d92ca82.zip
Refactor template compilation from AV::Base into the template handlers. Closes #10888 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8689 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/template/compiled_templates_test.rb')
-rw-r--r--actionpack/test/template/compiled_templates_test.rb88
1 files changed, 39 insertions, 49 deletions
diff --git a/actionpack/test/template/compiled_templates_test.rb b/actionpack/test/template/compiled_templates_test.rb
index 4998eb198c..c46eed0775 100644
--- a/actionpack/test/template/compiled_templates_test.rb
+++ b/actionpack/test/template/compiled_templates_test.rb
@@ -87,21 +87,22 @@ class CompiledTemplateTests < Test::Unit::TestCase
v.base_path = '.'
v.cache_template_loading = false
+ @handler_class = ActionView::Base.handler_class_for_extension(:rhtml)
+ @handler = @handler_class.new(v)
+
# All templates were created at t+1
File::Stat.any_instance.expects(:mtime).times(windows ? 2 : 3).returns(t + 1.second)
# private methods template_changed_since? and compile_template?
# should report true for all since they have not been compiled
- assert v.send(:template_changed_since?, @a, t)
- assert v.send(:template_changed_since?, @b, t)
- assert v.send(:template_changed_since?, @s, t) unless windows
+ assert @handler.send(:template_changed_since?, @a, t)
+ assert @handler.send(:template_changed_since?, @b, t)
+ assert @handler.send(:template_changed_since?, @s, t) unless windows
- assert v.send(:compile_template?, nil, @a, {})
- assert v.send(:compile_template?, nil, @b, {})
- assert v.send(:compile_template?, nil, @s, {}) unless windows
+ assert @handler.send(:compile_template?, nil, @a, {})
+ assert @handler.send(:compile_template?, nil, @b, {})
+ assert @handler.send(:compile_template?, nil, @s, {}) unless windows
- @handler_class = ActionView::Base.handler_class_for_extension(:rhtml)
- @handler = @handler_class.new(v)
# All templates are rendered at t+2
Time.expects(:now).times(windows ? 2 : 3).returns(t + 2.seconds)
v.send(:compile_and_render_template, @handler, '', @a)
@@ -111,26 +112,26 @@ class CompiledTemplateTests < Test::Unit::TestCase
b_n = v.method_names[@b]
s_n = v.method_names[@s] unless windows
# all of the files have changed since last compile
- assert v.compile_time[a_n] > t
- assert v.compile_time[b_n] > t
- assert v.compile_time[s_n] > t unless windows
+ assert @handler.compile_time[a_n] > t
+ assert @handler.compile_time[b_n] > t
+ assert @handler.compile_time[s_n] > t unless windows
# private methods template_changed_since? and compile_template?
# should report false for all since none have changed since compile
File::Stat.any_instance.expects(:mtime).times(windows ? 6 : 12).returns(t + 1.second)
- assert !v.send(:template_changed_since?, @a, v.compile_time[a_n])
- assert !v.send(:template_changed_since?, @b, v.compile_time[b_n])
- assert !v.send(:template_changed_since?, @s, v.compile_time[s_n]) unless windows
- assert !v.send(:compile_template?, nil, @a, {})
- assert !v.send(:compile_template?, nil, @b, {})
- assert !v.send(:compile_template?, nil, @s, {}) unless windows
+ assert !@handler.send(:template_changed_since?, @a, @handler.compile_time[a_n])
+ assert !@handler.send(:template_changed_since?, @b, @handler.compile_time[b_n])
+ assert !@handler.send(:template_changed_since?, @s, @handler.compile_time[s_n]) unless windows
+ assert !@handler.send(:compile_template?, nil, @a, {})
+ assert !@handler.send(:compile_template?, nil, @b, {})
+ assert !@handler.send(:compile_template?, nil, @s, {}) unless windows
v.send(:compile_and_render_template, @handler, '', @a)
v.send(:compile_and_render_template, @handler, '', @b)
v.send(:compile_and_render_template, @handler, '', @s) unless windows
# none of the files have changed since last compile
- assert v.compile_time[a_n] < t + 3.seconds
- assert v.compile_time[b_n] < t + 3.seconds
- assert v.compile_time[s_n] < t + 3.seconds unless windows
+ assert @handler.compile_time[a_n] < t + 3.seconds
+ assert @handler.compile_time[b_n] < t + 3.seconds
+ assert @handler.compile_time[s_n] < t + 3.seconds unless windows
`rm #{@s}; ln -s #{@b} #{@s}` unless windows
# private methods template_changed_since? and compile_template?
@@ -140,12 +141,12 @@ class CompiledTemplateTests < Test::Unit::TestCase
File::Stat.any_instance.expects(:mtime).times(windows ? 6 : 9).returns(
*(windows ? [ t + 1.second, t + 1.second ] :
[ t + 1.second, t + 1.second, t + 3.second ]) * 3)
- assert !v.send(:template_changed_since?, @a, v.compile_time[a_n])
- assert !v.send(:template_changed_since?, @b, v.compile_time[b_n])
- assert v.send(:template_changed_since?, @s, v.compile_time[s_n]) unless windows
- assert !v.send(:compile_template?, nil, @a, {})
- assert !v.send(:compile_template?, nil, @b, {})
- assert v.send(:compile_template?, nil, @s, {}) unless windows
+ assert !@handler.send(:template_changed_since?, @a, @handler.compile_time[a_n])
+ assert !@handler.send(:template_changed_since?, @b, @handler.compile_time[b_n])
+ assert @handler.send(:template_changed_since?, @s, @handler.compile_time[s_n]) unless windows
+ assert !@handler.send(:compile_template?, nil, @a, {})
+ assert !@handler.send(:compile_template?, nil, @b, {})
+ assert @handler.send(:compile_template?, nil, @s, {}) unless windows
# Only the symlink template gets rendered at t+3
Time.stubs(:now).returns(t + 3.seconds) unless windows
@@ -153,9 +154,9 @@ class CompiledTemplateTests < Test::Unit::TestCase
v.send(:compile_and_render_template, @handler, '', @b)
v.send(:compile_and_render_template, @handler, '', @s) unless windows
# the symlink has changed since last compile
- assert v.compile_time[a_n] < t + 3.seconds
- assert v.compile_time[b_n] < t + 3.seconds
- assert_equal v.compile_time[s_n], t + 3.seconds unless windows
+ assert @handler.compile_time[a_n] < t + 3.seconds
+ assert @handler.compile_time[b_n] < t + 3.seconds
+ assert_equal @handler.compile_time[s_n], t + 3.seconds unless windows
FileUtils.touch @b
# private methods template_changed_since? and compile_template?
@@ -166,12 +167,12 @@ class CompiledTemplateTests < Test::Unit::TestCase
File::Stat.any_instance.expects(:mtime).times(windows ? 6 : 12).returns(
*(windows ? [ t + 1.second, t + 4.seconds ] :
[ t + 1.second, t + 4.seconds, t + 3.second, t + 4.seconds ]) * 3)
- assert !v.send(:template_changed_since?, @a, v.compile_time[a_n])
- assert v.send(:template_changed_since?, @b, v.compile_time[b_n])
- assert v.send(:template_changed_since?, @s, v.compile_time[s_n]) unless windows
- assert !v.send(:compile_template?, nil, @a, {})
- assert v.send(:compile_template?, nil, @b, {})
- assert v.send(:compile_template?, nil, @s, {}) unless windows
+ assert !@handler.send(:template_changed_since?, @a, @handler.compile_time[a_n])
+ assert @handler.send(:template_changed_since?, @b, @handler.compile_time[b_n])
+ assert @handler.send(:template_changed_since?, @s, @handler.compile_time[s_n]) unless windows
+ assert !@handler.send(:compile_template?, nil, @a, {})
+ assert @handler.send(:compile_template?, nil, @b, {})
+ assert @handler.send(:compile_template?, nil, @s, {}) unless windows
Time.expects(:now).times(windows ? 1 : 2).returns(t + 5.seconds)
v.send(:compile_and_render_template, @handler, '', @a)
@@ -179,20 +180,9 @@ class CompiledTemplateTests < Test::Unit::TestCase
v.send(:compile_and_render_template, @handler, '', @s) unless windows
# the file at the end of the symlink has changed since last compile
# both the symlink and the file at the end of it should be recompiled
- assert v.compile_time[a_n] < t + 5.seconds
- assert_equal v.compile_time[b_n], t + 5.seconds
- assert_equal v.compile_time[s_n], t + 5.seconds unless windows
- end
- end
-end
-
-module ActionView
- class Base
- def compile_time
- @@compile_time
- end
- def method_names
- @@method_names
+ assert @handler.compile_time[a_n] < t + 5.seconds
+ assert_equal @handler.compile_time[b_n], t + 5.seconds
+ assert_equal @handler.compile_time[s_n], t + 5.seconds unless windows
end
end
end