Sha256: 97f3a36ef0cdefa9832adda44e7f6077bb574d19eaaa43d1cd1f189f1038478c

Contents?: true

Size: 926 Bytes

Versions: 11

Compression:

Stored size: 926 Bytes

Contents

require 'spec_helper'

describe Arachni::Support::Cache::Preference do
    it_behaves_like 'cache'

    it 'prunes itself by removing entries returned by the given block' do
        subject.max_size = 3

        subject.prefer { :k2 }

        k = [ :k, :k2, :k3, :k4 ]
        subject[k[0]] = '1'
        subject[k[1]] = '2'
        subject[k[2]] = '3'
        subject[k[3]] = '4'
        expect(subject.size).to eq(3)

        expect(k.map { |key| subject[key] }.count( nil )).to eq(1)

        subject.clear
    end

    it 'does not remove entries which are not preferred even if the max size has been exceeded' do
        subject.prefer { :k2 }

        k = [ :k, :k2, :k3, :k4 ]

        subject.max_size = 1
        subject[k[0]]  = '1'
        subject[k[1]] = '3'
        subject[k[2]] = '4'
        expect(subject.size).to eq(2)

        expect(k[0...3].map { |key| subject[key] }.count( nil )).to eq(1)
    end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
arachni-1.6.1.3 spec/arachni/support/cache/preference_spec.rb
arachni-1.6.1.2 spec/arachni/support/cache/preference_spec.rb
arachni-1.6.1.1 spec/arachni/support/cache/preference_spec.rb
arachni-1.6.1 spec/arachni/support/cache/preference_spec.rb
arachni-1.6.0 spec/arachni/support/cache/preference_spec.rb
arachni-1.5.1 spec/arachni/support/cache/preference_spec.rb
arachni-1.5 spec/arachni/support/cache/preference_spec.rb
arachni-1.4 spec/arachni/support/cache/preference_spec.rb
arachni-1.3.2 spec/arachni/support/cache/preference_spec.rb
arachni-1.3.1 spec/arachni/support/cache/preference_spec.rb
arachni-1.3 spec/arachni/support/cache/preference_spec.rb