Sha256: ae5357057be6edda35c8149f90a19c83dff6e20712743914d46fa57a1f36f2db

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

require File.expand_path("../../../base", __FILE__)

require "vagrant/util/scoped_hash_override"

describe Vagrant::Util::ScopedHashOverride do
  let(:klass) do
    Class.new do
      extend Vagrant::Util::ScopedHashOverride
    end
  end

  it "should not mess with non-overrides" do
    original = {
      key: "value",
      another_value: "foo"
    }

    expect(klass.scoped_hash_override(original, "foo")).to eq(original)
  end

  it "should override if the scope matches" do
    original = {
      key: "value",
      scope__key: "replaced"
    }

    expected = {
      key: "replaced",
      scope__key: "replaced"
    }

    expect(klass.scoped_hash_override(original, "scope")).to eq(expected)
  end

  it "should ignore non-matching scopes" do
    original = {
      key: "value",
      scope__key: "replaced",
      another__key: "value"
    }

    expected = {
      key: "replaced",
      scope__key: "replaced",
      another__key: "value"
    }

    expect(klass.scoped_hash_override(original, "scope")).to eq(expected)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-cloudstack-1.2.0 vendor/bundle/bundler/gems/vagrant-c84e05fd063f/test/unit/vagrant/util/scoped_hash_override_test.rb