Sha256: ecbaf6f9c214a7cbc43dcdb222d89ab2dd44ab3acedd4def449da156e88da2bb

Contents?: true

Size: 967 Bytes

Versions: 6

Compression:

Stored size: 967 Bytes

Contents

require 'spec_helper'
require 'wordlist/words'

describe Wordlist::Words do
  let(:words) { %w[foo bar baz] }

  subject { described_class.new(words) }

  describe "#initialize" do
    it "must set #words" do
      expect(subject.words).to eq(words)
    end
  end

  describe ".[]" do
    subject { described_class[*words] }

    it "must return a new #{described_class}" do
      expect(subject).to be_kind_of(described_class)
    end

    it "must initialize the wordlist with the given words" do
      expect(subject.words).to eq(words)
    end
  end

  describe "#each" do
    context "when a block is given" do
      it "must yield each word" do
        expect { |b| subject.each(&b) }.to yield_successive_args(*words)
      end
    end

    context "when no block is given" do
      it "must return an Enumerator for the words" do
        expect(subject.each).to be_kind_of(Enumerator)
        expect(subject.each.to_a).to eq(words)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
wordlist-1.1.1 spec/words_spec.rb
wordlist-1.1.0 spec/words_spec.rb
wordlist-1.0.3 spec/words_spec.rb
wordlist-1.0.2 spec/words_spec.rb
wordlist-1.0.1 spec/words_spec.rb
wordlist-1.0.0 spec/words_spec.rb