summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-24 09:37:27 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-11-24 09:37:27 +0000
commit911692e5684749c293bed767d0c6c37a29833383 (patch)
tree6b7699e33eb02d88b43515216e5152490a734c33 /lib
parentc53b4f562bc1b4b2058c44fcf6e71ce0352c35d2 (diff)
merges r29282,r29283,r29284,r29285,r29286,r29287,r29288 and r29302 from trunk into ruby_1_9_2.
-- * test/rexml/: import REXML tests from http://www.germane-software.com/repos/rexml/trunk/test/. Many tests are failed temporary. I'll fix them quickly. Sorry. -- * test/rexml/test_listener.rb: remove needless codes. -- * test/rexml/: fix fixture data path. All REXML tests are worked. -- * test/rexml/: untabify. -- * test/rexml/test_core.rb: enable. -- * test/rexml/test_sax.rb: don't use thread and sleep to avoid slow test. -- * lib/rexml/xpath_parser.rb, test/rexml/test_xpath.rb: add missing method availability check. [ruby-core:32447] Reported by Wiebe Cazemier. Thanks!!! -- Specify external encoding. When external encoding is not specified, it uses default external encoding. But it depends the environment. So specify as UTF-8 for environments whose locale is not UTF-8. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@29915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rexml/xpath_parser.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rexml/xpath_parser.rb b/lib/rexml/xpath_parser.rb
index 11950ecd93..d9088a25d9 100644
--- a/lib/rexml/xpath_parser.rb
+++ b/lib/rexml/xpath_parser.rb
@@ -434,7 +434,8 @@ module REXML
when :and
left = expr( path_stack.shift, nodeset.dup, context )
#puts "LEFT => #{left.inspect} (#{left.class.name})"
- if left == false || left.nil? || !left.inject(false) {|a,b| a | b}
+ return [] unless left
+ if left.respond_to?(:inject) and !left.inject(false) {|a,b| a | b}
return []
end
right = expr( path_stack.shift, nodeset.dup, context )