Sha256: 31ae139b52941c5d64ace2d6c890827de29dfcd604b8e9489f13e0d4ddb1d65b

Contents?: true

Size: 1011 Bytes

Versions: 2

Compression:

Stored size: 1011 Bytes

Contents

require 'spec_helper'

describe "cistern hashes" do
  describe "#slice" do
    let(:input) do
      { one: "one", two: "two", three: "three" }
    end

    it "returns a new hash with only the specified keys" do
      expect(Cistern::Hash.slice(input, :one, :two)).to eq({ one: "one", two: "two" })
    end

    it "skips keys that aren't in the original hash" do
      expect(Cistern::Hash.slice(input, :four)).to eq({})
    end
  end

  describe "#stringify_keys" do
    let(:input) do
      { one: "one", two: "two" }
    end

    it "returns a new hash with stringed keys" do
      expect(Cistern::Hash.stringify_keys(input)).to eq({ "one" => "one", "two" => "two" })
    end

    context "with nested hashes or arrays" do
      let(:input) do
        { hash: { one: "one" }, array: [{ two: "two" }] }
      end

      it "stringifies all of the keys" do
        expect(Cistern::Hash.stringify_keys(input)).to eq({ "hash" => { "one" => "one" }, "array" => [{ "two" => "two" }]})
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cistern-0.9.0 spec/cistern_hash_spec.rb
cistern-0.8.0 spec/cistern_hash_spec.rb