diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2015-07-27 20:27:57 +0200 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2015-07-27 20:27:57 +0200 |
commit | c5583cd79c17a56eafdf2666a136694125ec7485 (patch) | |
tree | 4856d80bce7ddfadd965790ffefeea458b1bf9b2 /actionview/test | |
parent | 0a780b1e8527c7d1bc764d6b6423966ff0381af4 (diff) | |
parent | a6509d31126d3533689480a5290f518671d5d8c9 (diff) | |
download | rails-c5583cd79c17a56eafdf2666a136694125ec7485.tar.gz rails-c5583cd79c17a56eafdf2666a136694125ec7485.tar.bz2 rails-c5583cd79c17a56eafdf2666a136694125ec7485.zip |
Merge pull request #20904 from kaspth/wildcard-template-dependencies
Add wildcard template dependencies.
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/fixtures/digestor/events/_completed.html.erb | 0 | ||||
-rw-r--r-- | actionview/test/fixtures/digestor/events/index.html.erb | 1 | ||||
-rw-r--r-- | actionview/test/template/digestor_test.rb | 37 |
3 files changed, 37 insertions, 1 deletions
diff --git a/actionview/test/fixtures/digestor/events/_completed.html.erb b/actionview/test/fixtures/digestor/events/_completed.html.erb new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/actionview/test/fixtures/digestor/events/_completed.html.erb diff --git a/actionview/test/fixtures/digestor/events/index.html.erb b/actionview/test/fixtures/digestor/events/index.html.erb new file mode 100644 index 0000000000..bc45e41bcb --- /dev/null +++ b/actionview/test/fixtures/digestor/events/index.html.erb @@ -0,0 +1 @@ +<% # Template Dependency: events/* %>
\ No newline at end of file diff --git a/actionview/test/template/digestor_test.rb b/actionview/test/template/digestor_test.rb index 24bc76cbbb..dde757b5a2 100644 --- a/actionview/test/template/digestor_test.rb +++ b/actionview/test/template/digestor_test.rb @@ -1,5 +1,6 @@ require 'abstract_unit' require 'fileutils' +require 'action_view/dependency_tracker' class FixtureTemplate attr_reader :source, :handler @@ -15,12 +16,13 @@ end class FixtureFinder FIXTURES_DIR = "#{File.dirname(__FILE__)}/../fixtures/digestor" - attr_reader :details + attr_reader :details, :view_paths attr_accessor :formats attr_accessor :variants def initialize @details = {} + @view_paths = ActionView::PathSet.new(['digestor']) @formats = [] @variants = [] end @@ -75,6 +77,34 @@ class TemplateDigestorTest < ActionView::TestCase end end + def test_explicit_dependency_wildcard + assert_digest_difference("events/index") do + change_template("events/_completed") + end + end + + def test_explicit_dependency_wildcard_picks_up_added_file + old_caching, ActionView::Resolver.caching = ActionView::Resolver.caching, false + + assert_digest_difference("events/index") do + add_template("events/_uncompleted") + end + ensure + remove_template("events/_uncompleted") + ActionView::Resolver.caching = old_caching + end + + def test_explicit_dependency_wildcard_picks_up_removed_file + old_caching, ActionView::Resolver.caching = ActionView::Resolver.caching, false + add_template("events/_subscribers_changed") + + assert_digest_difference("events/index") do + remove_template("events/_subscribers_changed") + end + ensure + ActionView::Resolver.caching = old_caching + end + def test_second_level_dependency assert_digest_difference("messages/show") do change_template("comments/_comments") @@ -319,4 +349,9 @@ class TemplateDigestorTest < ActionView::TestCase f.write "\nTHIS WAS CHANGED!" end end + alias_method :add_template, :change_template + + def remove_template(template_name) + File.delete("digestor/#{template_name}.html.erb") + end end |