diff options
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/template/dependency_tracker_test.rb | 54 |
1 files changed, 41 insertions, 13 deletions
diff --git a/actionpack/test/template/dependency_tracker_test.rb b/actionpack/test/template/dependency_tracker_test.rb index 9c68afbdbd..8588925de3 100644 --- a/actionpack/test/template/dependency_tracker_test.rb +++ b/actionpack/test/template/dependency_tracker_test.rb @@ -1,24 +1,24 @@ require 'abstract_unit' require 'action_view/dependency_tracker' -class DependencyTrackerTest < ActionView::TestCase - Neckbeard = lambda {|template| template.source } - Bowtie = lambda {|template| template.source } - - class NeckbeardTracker - def self.call(name, template) - ["foo/#{name}"] - end +class NeckbeardTracker + def self.call(name, template) + ["foo/#{name}"] end +end - class FakeTemplate - attr_reader :source, :handler +class FakeTemplate + attr_reader :source, :handler - def initialize(source, handler = Neckbeard) - @source, @handler = source, handler - end + def initialize(source, handler = Neckbeard) + @source, @handler = source, handler end +end + +Neckbeard = lambda {|template| template.source } +Bowtie = lambda {|template| template.source } +class DependencyTrackerTest < ActionView::TestCase def tracker ActionView::DependencyTracker end @@ -44,3 +44,31 @@ class DependencyTrackerTest < ActionView::TestCase assert_equal [], dependencies end end + +class ERBTrackerTest < MiniTest::Unit::TestCase + def make_tracker(name, template) + ActionView::DependencyTracker::ERBTracker.new(name, template) + end + + def test_dependency_of_erb_template_with_number_in_filename + template = FakeTemplate.new("<%# render 'messages/message123' %>", :erb) + tracker = make_tracker('messages/_message123', template) + + assert_equal ["messages/message123"], tracker.dependencies + end + + def test_finds_dependency_in_correct_directory + template = FakeTemplate.new("<%# render(message.topic) %>", :erb) + tracker = make_tracker('messages/_message', template) + + assert_equal ["topics/topic"], tracker.dependencies + end + + def test_finds_dependency_in_correct_directory_with_underscore + template = FakeTemplate.new("<%# render(message_type.messages) %>", :erb) + tracker = make_tracker('message_types/_message_type', template) + + assert_equal ["messages/message"], tracker.dependencies + end +end + |