Merge pull request #42969 from Matt-Yorkley/tracker-tests

Create shared examples for dependency tracker tests
This commit is contained in:
John Hawthorn 2021-08-08 12:36:01 -07:00 committed by GitHub
commit 6b49f33054
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 6 deletions

View File

@ -55,11 +55,8 @@ class DependencyTrackerTest < ActionView::TestCase
end
end
class RipperTrackerTest < Minitest::Test
def make_tracker(name, template)
ActionView::DependencyTracker::RipperTracker.new(name, template)
end
# Tests run with both ERBTracker and RipperTracker
module SharedTrackerTests
def test_dependency_of_erb_template_with_number_in_filename
template = FakeTemplate.new("<%= render 'messages/message123' %>", :erb)
tracker = make_tracker("messages/_message123", template)
@ -71,7 +68,7 @@ class RipperTrackerTest < Minitest::Test
template = FakeTemplate.new("<%= render partial: 'messages/show', layout: 'messages/layout' %>", :erb)
tracker = make_tracker("multiple/_dependencies", template)
assert_equal ["messages/show", "messages/layout"], tracker.dependencies
assert_equal ["messages/layout", "messages/show"], tracker.dependencies.sort
end
def test_dependency_of_template_layout_standalone
@ -209,6 +206,22 @@ class RipperTrackerTest < Minitest::Test
assert_equal ["single/\#{quote}"], tracker.dependencies
end
end
class ERBTrackerTest < Minitest::Test
include SharedTrackerTests
def make_tracker(name, template)
ActionView::DependencyTracker::ERBTracker.new(name, template)
end
end
class RipperTrackerTest < Minitest::Test
include SharedTrackerTests
def make_tracker(name, template)
ActionView::DependencyTracker::RipperTracker.new(name, template)
end
def test_dependencies_skip_unknown_options
template = FakeTemplate.new(%{