summaryrefslogtreecommitdiff
path: root/test/rexml/xpath/test_predicate.rb
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2020-01-11 21:37:00 +0900
committerSHIBATA Hiroshi <hsbt@ruby-lang.org>2020-01-12 12:28:29 +0900
commitc3ccf23d5807f2ff20127bf5e42df0977bf672fb (patch)
treed3953c32b61645c7af65d30e626af944f143cf58 /test/rexml/xpath/test_predicate.rb
parent012f297311817ecb19f78c55854b033bb4b0397c (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.rb83
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