Sha256: c6494bde605706a74507766f4160aa43d359a0889e6022c2cc15dde6ac87dea1

Contents?: true

Size: 835 Bytes

Versions: 8

Compression:

Stored size: 835 Bytes

Contents

require_relative '../test_helper'
require 'logster/cache'

class TestCache < Minitest::Test
  def setup
    @cache = Logster::Cache.new(5)
  end

  def test_cache_works
    value = "I should be retured"
    prc = Proc.new do
      @cache.fetch do
        value
      end
    end
    assert_equal(value, prc.call)
    cached_value = value
    value = "I shouldn't be returned"
    assert_equal(cached_value, prc.call)

    value = "Now I should be returned again"
    Process.stub :clock_gettime,  Process.clock_gettime(Process::CLOCK_MONOTONIC) + 6 do
      assert_equal(value, prc.call)
    end
  end

  def test_cache_can_be_cleared
    value = "cached"
    prc = Proc.new do
      @cache.fetch { value }
    end
    assert_equal(value, prc.call)

    value = "new value"
    @cache.clear
    assert_equal(value, prc.call)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
logster-2.4.2 test/logster/test_cache.rb
logster-2.4.1 test/logster/test_cache.rb
logster-2.4.0 test/logster/test_cache.rb
logster-2.3.3 test/logster/test_cache.rb
logster-2.3.2 test/logster/test_cache.rb
logster-2.3.1 test/logster/test_cache.rb
logster-2.3.0 test/logster/test_cache.rb
logster-2.2.0 test/logster/test_cache.rb