[RubySpec] [1.9] Parser appears to treat "not()" with incorrect precedence
--------------------------------------------------------------------------

                 Key: JRUBY-5250
                 URL: http://jira.codehaus.org/browse/JRUBY-5250
             Project: JRuby
          Issue Type: Bug
          Components: Parser
    Affects Versions: JRuby 1.6
            Reporter: Charles Oliver Nutter
            Assignee: Thomas E Enebo


Affects "not" specs in RubySpec.

{noformat}
1)
not() returns false if the argument is true FAILED
Expected "true"
 to equal "false"

/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:12:in 
`(root)'
org/jruby/RubyBasicObject.java:1682:in `instance_eval19'
org/jruby/RubyEnumerable.java:1264:in `all_p'
org/jruby/RubyArray.java:1655:in `each'
/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:1:in 
`(root)'
org/jruby/RubyKernel.java:1050:in `require19'
/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:23:in 
`language_version'
org/jruby/RubyArray.java:1655:in `each'
/Users/headius/projects/jruby/spec/ruby/language/not_spec.rb:33:in `(root)'
org/jruby/RubyKernel.java:1076:in `load19'
/Users/headius/projects/jruby/spec/ruby/language/not_spec.rb:56:in `files'
org/jruby/RubyBasicObject.java:1682:in `instance_eval19'
org/jruby/RubyArray.java:1655:in `each'

2)
not() returns true if the argument is false FAILED
Expected "false"
 to equal "true"

/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:16:in 
`(root)'
org/jruby/RubyBasicObject.java:1682:in `instance_eval19'
org/jruby/RubyEnumerable.java:1264:in `all_p'
org/jruby/RubyArray.java:1655:in `each'
/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:1:in 
`(root)'
org/jruby/RubyKernel.java:1050:in `require19'
/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:23:in 
`language_version'
org/jruby/RubyArray.java:1655:in `each'
/Users/headius/projects/jruby/spec/ruby/language/not_spec.rb:33:in `(root)'
org/jruby/RubyKernel.java:1076:in `load19'
/Users/headius/projects/jruby/spec/ruby/language/not_spec.rb:56:in `files'
org/jruby/RubyBasicObject.java:1682:in `instance_eval19'
org/jruby/RubyArray.java:1655:in `each'

3)
not() returns true if the argument is nil FAILED
Expected "false"
 to equal "true"

/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:20:in 
`(root)'
org/jruby/RubyBasicObject.java:1682:in `instance_eval19'
org/jruby/RubyEnumerable.java:1264:in `all_p'
org/jruby/RubyArray.java:1655:in `each'
/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:1:in 
`(root)'
org/jruby/RubyKernel.java:1050:in `require19'
/Users/headius/projects/jruby/spec/ruby/language/versions/not_1.9.rb:23:in 
`language_version'
org/jruby/RubyArray.java:1655:in `each'
/Users/headius/projects/jruby/spec/ruby/language/not_spec.rb:33:in `(root)'
org/jruby/RubyKernel.java:1076:in `load19'
/Users/headius/projects/jruby/spec/ruby/language/not_spec.rb:56:in `files'
org/jruby/RubyBasicObject.java:1682:in `instance_eval19'
org/jruby/RubyArray.java:1655:in `each'
{noformat}

Parse trees for two forms:

{noformat}
~/projects/jruby ➔ jruby --1.9 -S ast -e 'not(true).inspect.should == 
"false"'
AST:
RootNode 0
  NewlineNode 0
    CallNoArgNode:! 0
      CallOneArgNode:== 0
        CallNoArgNode:should 0
          CallNoArgNode:inspect 0
            NewlineNode 0
              TrueNode:true 0
        ArrayNode 0
          StrNode 0


~/projects/jruby ➔ jruby --1.9 -S ast -e '(not(true)).inspect.should == 
"false"'
AST:
RootNode 0
  NewlineNode 0
    CallOneArgNode:== 0
      CallNoArgNode:should 0
        CallNoArgNode:inspect 0
          NewlineNode 0
            CallNoArgNode:! 0
              NewlineNode 0
                TrueNode:true 0
      ArrayNode 0
        StrNode 0
{noformat}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to