Sha256: e40da2763963a0cf8888edadd4bf462612b633158641daba7632a240d9553c01

Contents?: true

Size: 1.13 KB

Versions: 76

Compression:

Stored size: 1.13 KB

Contents

require File.expand_path("#{File.dirname(__FILE__)}/../spec_helper")

module OptionalSpec
  describe "An optional terminal symbol" do
    testing_expression '"foo"?'
  
    it "parses input matching the terminal" do
      parse('foo').should_not be_nil
    end
  
    it "parses epsilon, recording a failure" do
      parse('') do |result|
        result.should_not be_nil
        result.interval.should == (0...0)
        
        terminal_failures = parser.terminal_failures
        terminal_failures.size.should == 1
        failure = terminal_failures.first
        failure.index.should == 0
        failure.expected_string.should == 'foo'
      end
    end
  
    it "parses input not matching the terminal, returning an epsilon result and recording a failure" do
      parse('bar', :consume_all_input => false) do |result|
        result.should_not be_nil
        result.interval.should == (0...0)
        
        terminal_failures = parser.terminal_failures
        terminal_failures.size.should == 1
        failure = terminal_failures.first
        failure.index.should == 0
        failure.expected_string.should == 'foo'
      end
    end
  end
end

Version data entries

76 entries across 76 versions & 7 rubygems

Version Path
cloudhead-less-1.0.1 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.10 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.13 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.16 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.2 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.3 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.4 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.5 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.6 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.8 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.0.9 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.0 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.1 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.10 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.11 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.12 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.13 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.2 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.3 lib/vendor/treetop/spec/compiler/optional_spec.rb
cloudhead-less-1.1.4 lib/vendor/treetop/spec/compiler/optional_spec.rb