All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gems.ice_nine-0.11.2.spec.shared.hash_deep_freeze.rb Maven / Gradle / Ivy

The newest version!
# encoding: utf-8

shared_examples 'IceNine::Freezer::Hash.deep_freeze' do
  it_behaves_like 'IceNine::Freezer::Object.deep_freeze'

  it 'freezes each key' do
    expect(subject.keys.select(&:frozen?)).to eql(subject.keys)
  end

  it 'freezes each value' do
    expect(subject.values.select(&:frozen?)).to eql(subject.values)
  end

  if RUBY_VERSION >= '1.9' && RUBY_ENGINE == 'rbx'
    it 'does not freeze the state' do
      expect(subject.instance_variable_get(:@state)).to_not be_frozen
    end

    it 'does not freeze the entries' do
      expect(subject.instance_variable_get(:@entries)).to_not be_frozen
    end
  end
end




© 2015 - 2024 Weber Informatics LLC | Privacy Policy