Sha256: 10ea9d2ed43d5aba8f549edd425e1dd548a8dbb707811abe39a476cb19165e5e

Contents?: true

Size: 766 Bytes

Versions: 1

Compression:

Stored size: 766 Bytes

Contents

require 'spec_helper'

require 'state_mate/adapters/defaults'

describe "StateMate::Adapters::Defaults.hash_deep_write!" do
  let(:defaults) {
    StateMate::Adapters::Defaults
  }

  it "does a basic set on an empty hash" do
    h = {}
    defaults.hash_deep_write! h, [:x], 1
    expect( h ).to eq({x: 1})
  end

  it "does a deep set on an empty hash" do
    h = {}
    defaults.hash_deep_write! h, [:x, :y], 1
    expect( h ).to eq({x: {y: 1}})
  end

  it "does a deep set on an non-empty hash" do
    h = {a: 1}
    defaults.hash_deep_write! h, [:x, :y], 1
    expect( h ).to eq({a: 1, x: {y: 1}})
  end

  it "clobbers values" do
    h = {x: [1, 2, 3]}
    defaults.hash_deep_write! h, [:x, :y], 1
    expect( h ).to eq({x: {y: 1}})
  end
end # hardware_uuid

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
state_mate-0.0.1 spec/state_mate/adapters/defaults/hash_deep_write_spec.rb