Sha256: 5b6467c7904ec561949a0f1b49adc34dc21d915e9883543a0744c928d3d70b12

Contents?: true

Size: 971 Bytes

Versions: 11

Compression:

Stored size: 971 Bytes

Contents

require 'spec_helper'

module Startback
  describe Context, "h information contract" do

    it "has a to_json that dumps it" do
      expect(Context.new.to_json).to eql("{}")
    end

    it 'allows installing factories and dumpers' do
      expect(Context.h_factories.size).to eql(1)
      expect(SubContext.h_factories.size).to eql(3)
      expect(Context.h_dumpers.size).to eql(1)
      expect(SubContext.h_dumpers.size).to eql(3)
    end

    it 'has a `to_h` information contract that works as expected' do
      context = SubContext.new.tap{|c|
        c.foo = "Hello"
        c.bar = "World"
      }
      expect(context.to_h).to eql({ "foo" => "Hello", "bar" => "World" })
    end

    it 'has a `h` information contract that works as expected' do
      context = SubContext.h({ "foo" => "Hello", "bar" => "World" })
      expect(context).to be_a(SubContext)
      expect(context.foo).to eql("Hello")
      expect(context.bar).to eql("World")
    end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
startback-1.0.3 spec/unit/context/test_h_factory.rb
startback-1.0.2 spec/unit/context/test_h_factory.rb
startback-1.0.1 spec/unit/context/test_h_factory.rb
startback-1.0.0 spec/unit/context/test_h_factory.rb
startback-0.19.4 spec/unit/context/test_h_factory.rb
startback-0.19.3 spec/unit/context/test_h_factory.rb
startback-0.19.1 spec/unit/context/test_h_factory.rb
startback-0.19.0 spec/unit/context/test_h_factory.rb
startback-0.18.2 spec/unit/context/test_h_factory.rb
startback-0.18.1 spec/unit/context/test_h_factory.rb
startback-0.18.0 spec/unit/context/test_h_factory.rb