Sha256: 14fb399bbc62c444770f661fe7668b550628764d1629b3fb9330922b9921fa97

Contents?: true

Size: 981 Bytes

Versions: 6

Compression:

Stored size: 981 Bytes

Contents

# encoding: utf-8
#
# This file is part of the lazier gem. Copyright (C) 2012 and above Shogun <shogun_panda@me.com>.
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
#

require "spec_helper"

describe Lazier::Hash do
  let(:reference) {
    rv = {:a => 1, "b" => 2}
    rv.default = 0
    rv
  }

  before(:all) do
    ::Lazier.load!
  end

  describe "allows access to keys using method syntax" do
    it "should allow method reference for symbol key" do expect(reference.b).to eq(2) end
    it "should use super for missing key" do expect {reference.c}.to raise_error(NoMethodError) end
  end

  describe "#respond_to" do
    it "should return true for string key" do expect(reference.respond_to?(:a)).to be_true end
    it "should return true for symbol key" do expect(reference.respond_to?(:b)).to be_true end
    it "should return false for missing key" do expect(reference.respond_to?(:c)).to be_false end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
lazier-1.0.6 spec/lazier/hash_spec.rb
lazier-1.0.5 spec/lazier/hash_spec.rb
lazier-1.0.4 spec/lazier/hash_spec.rb
lazier-1.0.3 spec/cowtech-extensions/hash_spec.rb
lazier-1.0.2 spec/cowtech-extensions/hash_spec.rb
lazier-1.0.1 spec/cowtech-extensions/hash_spec.rb