diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2020-01-11 21:37:00 +0900 |
---|---|---|
committer | SHIBATA Hiroshi <hsbt@ruby-lang.org> | 2020-01-12 12:28:29 +0900 |
commit | c3ccf23d5807f2ff20127bf5e42df0977bf672fb (patch) | |
tree | d3953c32b61645c7af65d30e626af944f143cf58 /test/rexml/xpath/test_predicate.rb | |
parent | 012f297311817ecb19f78c55854b033bb4b0397c (diff) |
Make rexml library to the bundle gems
[Feature #16485][ruby-core:96683]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/2832
Diffstat (limited to 'test/rexml/xpath/test_predicate.rb')
-rw-r--r-- | test/rexml/xpath/test_predicate.rb | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/test/rexml/xpath/test_predicate.rb b/test/rexml/xpath/test_predicate.rb deleted file mode 100644 index ce1aaa324b..0000000000 --- a/test/rexml/xpath/test_predicate.rb +++ /dev/null @@ -1,83 +0,0 @@ -# frozen_string_literal: false -require "test/unit/testcase" -require "rexml/document" -require "rexml/xpath" -require "rexml/parsers/xpathparser" - -module REXMLTests - class TestXPathPredicate < Test::Unit::TestCase - include REXML - SRC=<<-EOL - <article> - <section role="subdivision" id="1"> - <para>free flowing text.</para> - </section> - <section role="division"> - <section role="subdivision" id="2"> - <para>free flowing text.</para> - </section> - <section role="division"> - <para>free flowing text.</para> - </section> - </section> - </article> - EOL - - def setup - @doc = REXML::Document.new( SRC ) - @parser = REXML::Parsers::XPathParser.new - - end - - def test_predicates_parent - path = '//section[../self::section[@role="division"]]' - m = do_path( path ) - assert_equal( 2, m.size ) - assert_equal( "2", m[0].attributes["id"] ) - assert_nil( m[1].attributes["id"] ) - end - - def test_predicates_single - path = '//section[@role="subdivision" and not(../self::section[@role="division"])]' - m = do_path( path ) - assert_equal( 1, m.size ) - assert_equal( "1", m[0].attributes["id"] ) - end - - def test_predicates_multi - path = '//section[@role="subdivision"][not(../self::section[@role="division"])]' - m = do_path( path ) - assert_equal( 1, m.size ) - assert_equal( "1", m[0].attributes["id"] ) - end - - def do_path( path ) - m = REXML::XPath.match( @doc, path ) - #puts path, @parser.parse( path ).inspect - return m - end - - def test_get_no_siblings_terminal_nodes - source = <<-XML -<a> - <b number='1' str='abc'>TEXT1</b> - <c number='1'/> - <c number='2' str='def'> - <b number='3'/> - <d number='1' str='abc'>TEXT2</d> - <b number='2'><!--COMMENT--></b> - </c> -</a> -XML - doc = REXML::Document.new(source) - predicate = "count(child::node()|" + - "following-sibling::node()|" + - "preceding-sibling::node())=0" - m = REXML::XPath.match(doc, "/descendant-or-self::node()[#{predicate}]") - assert_equal( [REXML::Text.new("TEXT1"), - REXML::Text.new("TEXT2"), - REXML::Comment.new("COMMENT")], - m ) - end - end -end |