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
able-neo4j-1.0.0 vendor/bundle/jruby/1.9/gems/treetop-1.4.15/spec/compiler/not_predicate_spec.rb
logstash-input-beats-2.0.2 vendor/jruby/1.9/gems/logstash-codec-json-2.0.3/vendor/gems/treetop-1.4.15/spec/compiler/not_predicate_spec.rb
logstash-input-beats-2.0.2 vendor/jruby/1.9/gems/treetop-1.4.15/spec/compiler/not_predicate_spec.rb
logstash-codec-json-2.0.3 vendor/gems/treetop-1.4.15/spec/compiler/not_predicate_spec.rb
logstash-input-beats-0.9.2 vendor/jruby/1.9/gems/treetop-1.4.15/spec/compiler/not_predicate_spec.rb
logstash-input-beats-0.9.1 vendor/jruby/1.9/gems/treetop-1.4.15/spec/compiler/not_predicate_spec.rb
classiccms-0.7.5 vendor/bundle/gems/treetop-1.4.10/spec/compiler/not_predicate_spec.rb
classiccms-0.7.4 vendor/bundle/gems/treetop-1.4.10/spec/compiler/not_predicate_spec.rb
classiccms-0.7.3 vendor/bundle/gems/treetop-1.4.10/spec/compiler/not_predicate_spec.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/treetop-1.4.12/spec/compiler/not_predicate_spec.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/treetop-1.4.12/spec/compiler/not_predicate_spec.rb
depengine-0.0.31 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.31 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.30 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.30 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.29 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.29 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.28 etc/isolate/ruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.28 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb
depengine-0.0.27 etc/isolate/jruby-1.8/gems/treetop-1.4.8/spec/compiler/not_predicate_spec.rb