rabl-rails/test/cache_templates_test.rb

34 lines
1.2 KiB
Ruby

require 'test_helper'
class CacheTemplatesTest < ActiveSupport::TestCase
setup do
RablFastJson::Library.reset_instance
@library = RablFastJson::Library.instance
end
test "cache templates if perform_caching is active and cache_templates is enabled" do
RablFastJson.cache_templates = true
ActionController::Base.stub(:perform_caching).and_return(true)
@library.get_compiled_template('some/path', "")
t = @library.get_compiled_template('some/path', "attribute :id")
assert_equal({}, t.source)
end
test "cached templates should not be modifiable in place" do
RablFastJson.cache_templates = true
ActionController::Base.stub(:perform_caching).and_return(true)
t = @library.get_compiled_template('some/path', "")
assert_nil t.context
t.context = "foobar"
assert_nil @library.get_compiled_template('some/path', "").context
end
test "don't cache templates cache_templates is enabled but perform_caching is not active" do
RablFastJson.cache_templates = true
ActionController::Base.stub(:perform_caching).and_return(false)
refute_equal @library.get_compiled_template('some/path', ""), @library.get_compiled_template('some/path', "")
end
end