Sha256: 29dce72bf4a0d1aa302a855e53a69adaae748cf802087ff4d36abd9463be6898

Contents?: true

Size: 1.2 KB

Versions: 11

Compression:

Stored size: 1.2 KB

Contents

# coding: utf-8

RSpec.describe Pastel::DecoratorChain do
  it "is enumerable" do
    expect(described_class.new).to be_a(Enumerable)
  end

  it "is equatable" do
    expect(described_class.new).to be_a(Equatable)
  end

  describe ".each" do
    it "yields each decorator" do
      first   = double('first')
      second  = double('second')
      chain   = described_class.new.add(first).add(second)
      yielded = []

      expect {
        chain.each { |decorator| yielded << decorator }
      }.to change { yielded }.from([]).to([first, second])
    end
  end

  describe ".==" do
    it "is equivalent with the same decorator" do
      expect(described_class.new.add(:foo).add(:bar)).
        to eq(described_class.new.add(:foo).add(:bar))
    end

    it "is not equivalent with different decorator" do
      expect(described_class.new.add(:foo).add(:bar)).
        not_to eq(described_class.new.add(:foo).add(:baz))
    end

    it "is not equivalent to another type" do
      expect(described_class.new.add(:foo).add(:bar)).
        not_to eq(:other)
    end
  end

  describe ".inspect" do
    it "displays object information" do
      expect(described_class.new.inspect).to match(/decorators=\[\]/)
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
pokedex-terminal-0.2.8 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/spec/unit/decorator_chain_spec.rb
pokedex-terminal-0.2.7 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/spec/unit/decorator_chain_spec.rb
pokedex-terminal-0.2.6 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/spec/unit/decorator_chain_spec.rb
pokedex-terminal-0.2.5 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/spec/unit/decorator_chain_spec.rb
pokedex-terminal-0.2.4 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/spec/unit/decorator_chain_spec.rb
pastel-0.7.3 spec/unit/decorator_chain_spec.rb
pastel-0.7.2 spec/unit/decorator_chain_spec.rb
pastel-0.7.1 spec/unit/decorator_chain_spec.rb
pastel-0.7.0 spec/unit/decorator_chain_spec.rb
pastel-0.6.1 spec/unit/decorator_chain_spec.rb
pastel-0.6.0 spec/unit/decorator_chain_spec.rb