Sha256: 9d5632eb020f4170d05c2df7a9e76f6d5a63ca76ade9556354484537802a41a4

Contents?: true

Size: 498 Bytes

Versions: 1

Compression:

Stored size: 498 Bytes

Contents

require 'spec_helper'
module Sexpr
  describe Alternative, "eat" do

    let(:alt1){ Terminal.new(nil)            }
    let(:alt2){ Terminal.new(/^[a-z]+$/)     }
    let(:rule){ Alternative.new [alt1, alt2] }

    it 'returns the subarray when match' do
      rule.eat(["hello", "world"]).should eq(["world"])
      rule.eat([nil, "world"]).should eq(["world"])
    end

    it 'returns nil when no match' do
      rule.eat([]).should be_nil
      rule.eat(["12"]).should be_nil
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sexpr-0.2.0 spec/alternative/test_eat.rb