1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib
kou 7a6f34103d rexml: Fix XPath bug of //#{ELEMENT_NAME}[#{POSITION}]
The position should be counted for each nodeset but the previous
implementation counts position for union-ed nodeset.

For example, "/a/*/*[1]" should be matched to "<c1/>" and "<c2/>" with
the following XML.

    <a>
      <b>
        <c1/>
      </b>
      <b>
        <c2/>
      </b>
    </a>

But the previous implementation just returns only "<c1/>".

* lib/rexml/element.rb (REXML::Attributes#each_attribute):
  Support Enumerator for no block use.

* lib/rexml/element.rb (REXML::Attributes#each):
  Support Enumerator for no block use.

* lib/rexml/functions.rb (REXML::Functions.string):
  Support NaN again.

* lib/rexml/xpath_parser.rb: Re-implement "Step" evaluator.
  It should evaluate "AxisSpecifier", "NodeTest" and "Predicate" in one
  step to respect position for each nodeset.

* test/rexml/test_jaxen.rb: Enable more tests. Remained tests should
  be also enabled but it'll not be near future.

* test/rexml/xpath/test_base.rb: Fix expected value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-04-22 09:38:06 +00:00
..
cgi
drb
forwardable
irb
matrix
net
optparse
racc
rdoc
rexml rexml: Fix XPath bug of //#{ELEMENT_NAME}[#{POSITION}] 2018-04-22 09:38:06 +00:00
rinda
rss
rubygems
shell
unicode_normalize update Ruby to Unicode 10.0.0 2017-09-06 07:56:41 +00:00
uri
webrick
yaml
.document
abbrev.rb
base64.rb
benchmark.rb
cgi.rb
cmath.gemspec
cmath.rb
csv.gemspec
csv.rb
debug.rb
delegate.rb
drb.rb
e2mmap.rb
English.rb
erb.rb
fileutils.gemspec
fileutils.rb
find.rb
forwardable.rb
getoptlong.rb
ipaddr.gemspec
ipaddr.rb
irb.rb
logger.rb
matrix.rb
mkmf.rb
monitor.rb
mutex_m.rb
observer.rb
open-uri.rb
open3.rb
optionparser.rb
optparse.rb
ostruct.rb
pp.rb
prettyprint.rb
prime.rb
profile.rb
profiler.rb
pstore.rb
rdoc.rb
resolv-replace.rb
resolv.rb
rss.rb
rubygems.rb
scanf.gemspec
scanf.rb
securerandom.rb
set.rb
shell.rb
shellwords.rb
singleton.rb
sync.rb
tempfile.rb
thwait.rb
time.rb
timeout.rb
tmpdir.rb
tracer.rb
tsort.rb
un.rb
uri.rb
weakref.rb
webrick.rb
yaml.rb