Sha256: 5a72ea03f48e6a5edd7c56ee58b845108e8a192c5927e07ec2a2b0b70b3a06bd

Contents?: true

Size: 1.78 KB

Versions: 14

Compression:

Stored size: 1.78 KB

Contents

require File.dirname(__FILE__) + '/../test_helper'

class MetaFragmentTest < Test::Unit::TestCase
  include MetaFragmentCache
  include ActionController::Caching::Fragments

  def self.benchmark(foo)
    yield
  end

  def perform_caching
    true
  end

  def setup
  end

  def test_read_write
    data = "BLAHBLAHBLAH"
    meta = {:foo => :bar}
    write_meta_fragment("TESTFRAGMENT", meta, data)
    newmeta, newdata = read_meta_fragment("TESTFRAGMENT")

    assert_equal newdata, data
    assert_equal newmeta, meta

    expire_meta_fragment("TESTFRAGMENT")
  end

  def test_expre_string
    write_meta_fragment("TEST_EXPIRE", {:foo => :bar}, "foo")
    expire_meta_fragment("TEST_EXPIRE")
    meta, data = read_meta_fragment("TEST_EXPIRE")

    assert_equal nil, data
    assert_equal Hash.new, meta
  end

  def test_expire_regex
    write_meta_fragment("TEST_EXPIRE_1", {:a => :b}, "foo")
    write_meta_fragment("TEST_EXPIRE_2", {:c => :d}, "bar")
    write_meta_fragment("TEST_3", {:e => :f}, "zzz")

    expire_meta_fragment(/TEST_EXPIRE.*/)
    assert_equal [Hash.new, nil], read_meta_fragment("TEST_EXPIRE_1")
    assert_equal [Hash.new, nil], read_meta_fragment("TEST_EXPIRE_2")
    assert_equal [{:e => :f},'zzz'], read_meta_fragment("TEST_3")
  end

  def test_read_expires
    key = "TEST_READ_EXPIRES"
    data = "blahblah"
    meta = {:foo => 'bar', :expires => Time.now + 120} # Expire in 2 minutes
    write_meta_fragment(key,meta,data)
    assert_equal [meta, data], read_meta_fragment_expire(key)
    assert_equal [meta, data], read_meta_fragment(key) # It wasn't expired

    meta[:expires] = Time.now - 1
    write_meta_fragment(key,meta,data)
    assert_equal [Hash.new, nil], read_meta_fragment_expire(key)
    assert_equal [Hash.new, nil], read_meta_fragment(key) # It *was* expired
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
typo-3.99.0 test/unit/metafragment_test.rb
typo-3.99.3 test/unit/metafragment_test.rb
typo-3.99.2 test/unit/metafragment_test.rb
typo-3.99.1 test/unit/metafragment_test.rb
typo-4.0.1 test/unit/metafragment_test.rb
typo-4.0.2 test/unit/metafragment_test.rb
typo-4.0.0 test/unit/metafragment_test.rb
typo-3.99.4 test/unit/metafragment_test.rb
typo-4.1.1 test/unit/metafragment_test.rb
typo-4.0.3 test/unit/metafragment_test.rb
typo-5.0.1 test/unit/metafragment_test.rb
typo-4.1 test/unit/metafragment_test.rb
typo-5.0.2 test/unit/metafragment_test.rb
typo-5.0 test/unit/metafragment_test.rb