diff --git a/lib/oga/xpath/parser.y b/lib/oga/xpath/parser.y index af8f440..f240392 100644 --- a/lib/oga/xpath/parser.y +++ b/lib/oga/xpath/parser.y @@ -12,7 +12,8 @@ options no_result_var prechigh left T_PIPE T_MOD T_DIV T_MUL T_SUB T_ADD - left T_GT T_GTE T_LT T_LTE T_NEQ T_EQ T_AND T_OR + left T_GT T_GTE T_LT T_LTE T_NEQ T_EQ + left T_AND T_OR preclow rule diff --git a/spec/oga/xpath/parser/operator_precedence_spec.rb b/spec/oga/xpath/parser/operator_precedence_spec.rb index 69cd6ce..99e107c 100644 --- a/spec/oga/xpath/parser/operator_precedence_spec.rb +++ b/spec/oga/xpath/parser/operator_precedence_spec.rb @@ -105,9 +105,9 @@ describe Oga::XPath::Parser do parse_xpath('A and B = C').should == s( :path, s( - :eq, - s(:and, s(:test, nil, 'A'), s(:test, nil, 'B')), - s(:test, nil, 'C') + :and, + s(:test, nil, 'A'), + s(:eq, s(:test, nil, 'B'), s(:test, nil, 'C')) ) ) end