class FragmentCachingTest

Constants

ModelWithKeyAndVersion

Public Instance Methods

setup() click to toggle source
Calls superclass method BaseCachingTest#setup
# File actionpack/test/controller/caching_test.rb, line 46
def setup
  super
  @store = ActiveSupport::Cache::MemoryStore.new
  @controller = FragmentCachingTestController.new
  @controller.perform_caching = true
  @controller.cache_store = @store
  @params = { controller: "posts", action: "index" }
  @controller.params = @params
  @controller.request = @request
  @controller.response = @response

  @m1v1 = ModelWithKeyAndVersion.new("model/1", "1")
  @m1v2 = ModelWithKeyAndVersion.new("model/1", "2")
  @m2v1 = ModelWithKeyAndVersion.new("model/2", "1")
  @m2v2 = ModelWithKeyAndVersion.new("model/2", "2")
end
test_combined_fragment_cache_key() click to toggle source
# File actionpack/test/controller/caching_test.rb, line 71
def test_combined_fragment_cache_key
  assert_equal [ :views, "what a key" ], @controller.combined_fragment_cache_key("what a key")
  assert_equal [ :views, "test.host/fragment_caching_test/some_action" ],
    @controller.combined_fragment_cache_key(controller: "fragment_caching_test", action: "some_action")
end
test_expire_fragment_with_regexp() click to toggle source
# File actionmailer/test/caching_test.rb, line 72
def test_expire_fragment_with_regexp
  @store.write("views/name", "value")
  @store.write("views/another_name", "another_value")
  @store.write("views/primalgrasp", "will not expire ;-)")

  @mailer.expire_fragment(/name/)

  assert_nil @store.read("views/name")
  assert_nil @store.read("views/another_name")
  assert_equal "will not expire ;-)", @store.read("views/primalgrasp")
end
test_expire_fragment_with_simple_key() click to toggle source
# File actionmailer/test/caching_test.rb, line 66
def test_expire_fragment_with_simple_key
  @store.write("views/name", "value")
  @mailer.expire_fragment "name"
  assert_nil @store.read("views/name")
end
test_fragment_cache_key() click to toggle source
# File actionpack/test/controller/caching_test.rb, line 63
def test_fragment_cache_key
  assert_deprecated do
    assert_equal "views/what a key", @controller.fragment_cache_key("what a key")
    assert_equal "views/test.host/fragment_caching_test/some_action",
      @controller.fragment_cache_key(controller: "fragment_caching_test", action: "some_action")
  end
end
test_fragment_exist_with_caching_disabled() click to toggle source
# File actionmailer/test/caching_test.rb, line 46
def test_fragment_exist_with_caching_disabled
  @mailer.perform_caching = false
  @store.write("views/name", "value")
  assert !@mailer.fragment_exist?("name")
  assert !@mailer.fragment_exist?("other_name")
end
test_fragment_exist_with_caching_enabled() click to toggle source
# File actionmailer/test/caching_test.rb, line 40
def test_fragment_exist_with_caching_enabled
  @store.write("views/name", "value")
  assert @mailer.fragment_exist?("name")
  assert !@mailer.fragment_exist?("other_name")
end
test_fragment_for() click to toggle source
# File actionmailer/test/caching_test.rb, line 84
def test_fragment_for
  @store.write("views/expensive", "fragment content")
  fragment_computed = false

  view_context = @mailer.view_context

  buffer = "generated till now -> ".html_safe
  buffer << view_context.send(:fragment_for, "expensive") { fragment_computed = true }

  assert !fragment_computed
  assert_equal "generated till now -> fragment content", buffer
end
test_html_safety() click to toggle source
# File actionmailer/test/caching_test.rb, line 97
def test_html_safety
  assert_nil @store.read("views/name")
  content = "value".html_safe
  assert_equal content, @mailer.write_fragment("name", content)

  cached = @store.read("views/name")
  assert_equal content, cached
  assert_equal String, cached.class

  html_safe = @mailer.read_fragment("name")
  assert_equal content, html_safe
  assert html_safe.html_safe?
end
test_read_fragment_with_caching_disabled() click to toggle source
# File actionmailer/test/caching_test.rb, line 34
def test_read_fragment_with_caching_disabled
  @mailer.perform_caching = false
  @store.write("views/name", "value")
  assert_nil @mailer.read_fragment("name")
end
test_read_fragment_with_caching_enabled() click to toggle source
# File actionmailer/test/caching_test.rb, line 29
def test_read_fragment_with_caching_enabled
  @store.write("views/name", "value")
  assert_equal "value", @mailer.read_fragment("name")
end
test_read_fragment_with_versioned_model() click to toggle source
# File actionpack/test/controller/caching_test.rb, line 88
def test_read_fragment_with_versioned_model
  @controller.write_fragment([ "stuff", @m1v1 ], "hello")
  assert_equal "hello", @controller.read_fragment([ "stuff", @m1v1 ])
  assert_nil @controller.read_fragment([ "stuff", @m1v2 ])
end
test_write_fragment_with_caching_disabled() click to toggle source
# File actionmailer/test/caching_test.rb, line 59
def test_write_fragment_with_caching_disabled
  assert_nil @store.read("views/name")
  @mailer.perform_caching = false
  assert_equal "value", @mailer.write_fragment("name", "value")
  assert_nil @store.read("views/name")
end
test_write_fragment_with_caching_enabled() click to toggle source
# File actionmailer/test/caching_test.rb, line 53
def test_write_fragment_with_caching_enabled
  assert_nil @store.read("views/name")
  assert_equal "value", @mailer.write_fragment("name", "value")
  assert_equal "value", @store.read("views/name")
end