Sha256: 71a956521517788ce2bea19bb440159c38a327f38746aa822c9b444480a8e7a7

Contents?: true

Size: 1.35 KB

Versions: 10

Compression:

Stored size: 1.35 KB

Contents

require 'test/unit'
require 'webgen/cache'

class TestCache < Test::Unit::TestCase

  def setup
    @cache = Webgen::Cache.new
  end

  def dump_and_restore
    data = @cache.dump
    setup
    @cache.restore(data)
  end

  def test_standard_cache
    @cache[:key] = :value
    assert_equal(:value, @cache[:key])
    dump_and_restore
    assert_equal(:value, @cache[:key])
    @cache[:key] = :newvalue
    assert_equal(:value, @cache[:key])
    dump_and_restore
    assert_equal(:newvalue, @cache[:key])
  end

  def test_permanent_cache
    @cache.permanent[:key] = :value
    assert_equal(:value, @cache.permanent[:key])
    dump_and_restore
    assert_equal(:value, @cache.permanent[:key])
  end

  def test_volatile_cache
    @cache.volatile[:key] = :value
    assert_equal(:value, @cache.volatile[:key])
    dump_and_restore
    assert_equal(nil, @cache.volatile[:key])

    @cache.volatile[:key] = :value
    obj = @cache.instance('Hash')
    @cache.reset_volatile_cache
    assert_equal(nil, @cache.volatile[:key])
    assert_equal(obj, @cache.instance('Hash'))
  end

  def test_instance
    obj = @cache.instance('Hash')
    assert_kind_of(Hash, obj)
    assert_equal(obj, @cache.instance('Hash'))
    @cache.instance('Array')
    assert_equal(['Hash', 'Array'], @cache.permanent[:classes])
    dump_and_restore
    assert_not_nil(@cache.volatile[:classes]['Hash'])
  end

end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
gettalong-webgen-0.5.4.20080929 test/test_cache.rb
gettalong-webgen-0.5.5.20081001 test/test_cache.rb
gettalong-webgen-0.5.5.20081010 test/test_cache.rb
gettalong-webgen-0.5.5.20081012 test/test_cache.rb
gettalong-webgen-0.5.6.20081020 test/test_cache.rb
webgen-0.5.4 test/test_cache.rb
webgen-0.5.2 test/test_cache.rb
webgen-0.5.3 test/test_cache.rb
webgen-0.5.6 test/test_cache.rb
webgen-0.5.5 test/test_cache.rb