Methods
S
T
Instance Public methods
setup()
# File actionview/test/template/digestor_test.rb, line 46
def setup
  @cwd     = Dir.pwd
  @tmp_dir = Dir.mktmpdir

  FileUtils.cp_r FixtureFinder::FIXTURES_DIR, @tmp_dir
  Dir.chdir @tmp_dir
end
teardown()
# File actionview/test/template/digestor_test.rb, line 54
def teardown
  Dir.chdir @cwd
  FileUtils.rm_r @tmp_dir
  ActionView::Digestor.cache.clear
end
test_cache_template_loading()
# File actionview/test/template/digestor_test.rb, line 242
def test_cache_template_loading
  resolver_before = ActionView::Resolver.caching
  ActionView::Resolver.caching = false
  assert_digest_difference("messages/edit", true) do
    change_template("comments/_comment")
  end
ensure
  ActionView::Resolver.caching = resolver_before
end
test_chaining_the_partial_template_on_recursion()
# File actionview/test/template/digestor_test.rb, line 147
def test_chaining_the_partial_template_on_recursion
  assert digest("level/recursion") # assert recursion is possible

  assert_digest_difference("level/recursion") do
    change_template("level/_recursion")
  end

  assert_not_nil digest("level/recursion") # assert digest is stored
end
test_chaining_the_top_template_on_recursion()
# File actionview/test/template/digestor_test.rb, line 137
def test_chaining_the_top_template_on_recursion
  assert digest("level/recursion") # assert recursion is possible

  assert_digest_difference("level/recursion") do
    change_template("level/recursion")
  end

  assert_not_nil digest("level/recursion") # assert digest is stored
end
test_collection_dependency()
# File actionview/test/template/digestor_test.rb, line 161
def test_collection_dependency
  assert_digest_difference("messages/index") do
    change_template("messages/_message")
  end

  assert_digest_difference("messages/index") do
    change_template("events/_event")
  end
end
test_collection_derived_from_record_dependency()
# File actionview/test/template/digestor_test.rb, line 171
def test_collection_derived_from_record_dependency
  assert_digest_difference("messages/show") do
    change_template("events/_event")
  end
end
test_dependencies_via_options_results_in_different_digest()
# File actionview/test/template/digestor_test.rb, line 228
def test_dependencies_via_options_results_in_different_digest
  digest_plain        = digest("comments/_comment")
  digest_fridge       = digest("comments/_comment", dependencies: ["fridge"])
  digest_phone        = digest("comments/_comment", dependencies: ["phone"])
  digest_fridge_phone = digest("comments/_comment", dependencies: ["fridge", "phone"])

  assert_not_equal digest_plain, digest_fridge
  assert_not_equal digest_plain, digest_phone
  assert_not_equal digest_plain, digest_fridge_phone
  assert_not_equal digest_fridge, digest_phone
  assert_not_equal digest_fridge, digest_fridge_phone
  assert_not_equal digest_phone, digest_fridge_phone
end
test_details_are_included_in_cache_key()
# File actionview/test/template/digestor_test.rb, line 177
def test_details_are_included_in_cache_key
  # Cache the template digest.
  old_digest = digest("events/_event")

  # Change the template; the cached digest remains unchanged.
  change_template("events/_event")

  # The details are changed, so a new cache key is generated.
  finder.details[:foo] = "bar"

  # The cache is busted.
  assert_not_equal old_digest, digest("events/_event")
end
test_digest_cache_cleanup_with_recursion()
# File actionview/test/template/digestor_test.rb, line 252
def test_digest_cache_cleanup_with_recursion
  first_digest = digest("level/_recursion")
  second_digest = digest("level/_recursion")

  assert first_digest

  # If the cache is cleaned up correctly, subsequent digests should return the same
  assert_equal first_digest, second_digest
end
test_digest_cache_cleanup_with_recursion_and_template_caching_off()
# File actionview/test/template/digestor_test.rb, line 262
def test_digest_cache_cleanup_with_recursion_and_template_caching_off
  resolver_before = ActionView::Resolver.caching
  ActionView::Resolver.caching = false

  first_digest = digest("level/_recursion")
  second_digest = digest("level/_recursion")

  assert first_digest

  # If the cache is cleaned up correctly, subsequent digests should return the same
  assert_equal first_digest, second_digest
ensure
  ActionView::Resolver.caching = resolver_before
end
test_directory_depth_dependency()
# File actionview/test/template/digestor_test.rb, line 96
def test_directory_depth_dependency
  assert_digest_difference("level/below/index") do
    change_template("level/below/_header")
  end
end
test_dont_generate_a_digest_for_missing_templates()
# File actionview/test/template/digestor_test.rb, line 157
def test_dont_generate_a_digest_for_missing_templates
  assert_equal '', digest("nothing/there")
end
test_explicit_dependency()
# File actionview/test/template/digestor_test.rb, line 66
def test_explicit_dependency
  assert_digest_difference("messages/show") do
    change_template("messages/_message")
  end
end
test_explicit_dependency_in_multiline_erb_tag()
# File actionview/test/template/digestor_test.rb, line 72
def test_explicit_dependency_in_multiline_erb_tag
  assert_digest_difference("messages/show") do
    change_template("messages/_form")
  end
end
test_extra_whitespace_in_render_named_partial()
# File actionview/test/template/digestor_test.rb, line 197
def test_extra_whitespace_in_render_named_partial
  assert_digest_difference("messages/edit") do
    change_template("messages/_header")
  end
end
test_extra_whitespace_in_render_partial()
# File actionview/test/template/digestor_test.rb, line 191
def test_extra_whitespace_in_render_partial
  assert_digest_difference("messages/edit") do
    change_template("messages/_form")
  end
end
test_extra_whitespace_in_render_record()
# File actionview/test/template/digestor_test.rb, line 203
def test_extra_whitespace_in_render_record
  assert_digest_difference("messages/edit") do
    change_template("messages/_message")
  end
end
test_extra_whitespace_in_render_with_parenthesis()
# File actionview/test/template/digestor_test.rb, line 209
def test_extra_whitespace_in_render_with_parenthesis
  assert_digest_difference("messages/edit") do
    change_template("events/_event")
  end
end
test_logging_of_missing_template()
# File actionview/test/template/digestor_test.rb, line 102
def test_logging_of_missing_template
  assert_logged "Couldn't find template for digesting: messages/something_missing" do
    digest("messages/show")
  end
end
test_logging_of_missing_template_ending_with_number()
# File actionview/test/template/digestor_test.rb, line 108
def test_logging_of_missing_template_ending_with_number
  assert_logged "Couldn't find template for digesting: messages/something_missing_1" do
    digest("messages/show")
  end
end
test_logging_of_missing_template_for_dependencies()
# File actionview/test/template/digestor_test.rb, line 114
def test_logging_of_missing_template_for_dependencies
  assert_logged "'messages/something_missing' file doesn't exist, so no dependencies" do
    dependencies("messages/something_missing")
  end
end
test_logging_of_missing_template_for_nested_dependencies()
# File actionview/test/template/digestor_test.rb, line 120
def test_logging_of_missing_template_for_nested_dependencies
  assert_logged "'messages/something_missing' file doesn't exist, so no dependencies" do
    nested_dependencies("messages/something_missing")
  end
end
test_nested_template_directory()
# File actionview/test/template/digestor_test.rb, line 126
def test_nested_template_directory
  assert_digest_difference("messages/show") do
    change_template("messages/actions/_move")
  end
end
test_old_style_hash_in_render_invocation()
# File actionview/test/template/digestor_test.rb, line 215
def test_old_style_hash_in_render_invocation
  assert_digest_difference("messages/edit") do
    change_template("comments/_comment")
  end
end
test_recursion_in_renders()
# File actionview/test/template/digestor_test.rb, line 132
def test_recursion_in_renders
  assert digest("level/recursion") # assert recursion is possible
  assert_not_nil digest("level/recursion") # assert digest is stored
end
test_second_level_dependency()
# File actionview/test/template/digestor_test.rb, line 78
def test_second_level_dependency
  assert_digest_difference("messages/show") do
    change_template("comments/_comments")
  end
end
test_second_level_dependency_within_same_directory()
# File actionview/test/template/digestor_test.rb, line 84
def test_second_level_dependency_within_same_directory
  assert_digest_difference("messages/show") do
    change_template("messages/_header")
  end
end
test_third_level_dependency()
# File actionview/test/template/digestor_test.rb, line 90
def test_third_level_dependency
  assert_digest_difference("messages/show") do
    change_template("comments/_comment")
  end
end
test_top_level_change_reflected()
# File actionview/test/template/digestor_test.rb, line 60
def test_top_level_change_reflected
  assert_digest_difference("messages/show") do
    change_template("messages/show")
  end
end
test_variants()
# File actionview/test/template/digestor_test.rb, line 221
def test_variants
  assert_digest_difference("messages/new", false, variants: [:iphone]) do
    change_template("messages/new",     :iphone)
    change_template("messages/_header", :iphone)
  end
end