Sha256: 6585a68f6daf7c7475157a0a3627029dd57550ba68f0df16f4b96c775f765918

Contents?: true

Size: 1.06 KB

Versions: 251

Compression:

Stored size: 1.06 KB

Contents

require 'spec_helper'

module NotPredicateSpec
  describe "A !-predicated terminal symbol" do
    testing_expression '!"foo"'

    it "fails to parse input matching the terminal symbol" do
      parse('foo').should be_nil
    end
  end

  describe "A sequence of a terminal and an and another !-predicated terminal" do
    testing_expression '"foo" !"bar"'

    it "fails to match input matching both terminals" do
      parse('foobar').should be_nil
    end
  
    it "successfully parses input matching the first terminal and not the second, reporting the parse failure of the second terminal" do
      parse('foo') do |result|
        result.should_not be_nil
        terminal_failures = parser.terminal_failures
        terminal_failures.size.should == 1
        failure = terminal_failures.first
        failure.index.should == 3
        failure.expected_string.should == 'bar'
      end
    end
  end

  describe "A !-predicated sequence" do
    testing_expression '!("a" "b" "c")'

    it "fails to parse matching input" do
      parse('abc').should be_nil
    end
  end
end

Version data entries

251 entries across 206 versions & 31 rubygems

Version Path
depengine-0.0.27 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.26 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.26 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.25 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.25 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.24 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.24 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.23 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.23 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.22 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.22 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.21 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.21 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.20 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.20 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.19 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.19 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.18 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.18 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.17 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb