diff options
Diffstat (limited to 'test/rexml/xpath/test_axis_preceding_sibling.rb')
-rw-r--r-- | test/rexml/xpath/test_axis_preceding_sibling.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/rexml/xpath/test_axis_preceding_sibling.rb b/test/rexml/xpath/test_axis_preceding_sibling.rb new file mode 100644 index 0000000000..d2981b39cf --- /dev/null +++ b/test/rexml/xpath/test_axis_preceding_sibling.rb @@ -0,0 +1,38 @@ +require "test/unit/testcase" +require "rexml/document" + +class TestXPathAxisPredcedingSibling < Test::Unit::TestCase + include REXML + SOURCE = <<-EOF + <a id='1'> + <e id='2'> + <f id='3'/> + <f id='4'/> + <f id='5'/> + <f id='6'/> + </e> + </a> + EOF + + def setup + @@doc = Document.new(SOURCE) unless defined? @@doc + end + + def test_preceding_sibling_axis + context = XPath.first(@@doc,"/a/e/f[last()]") + assert_equal "6", context.attributes["id"] + + prev = XPath.first(context, "preceding-sibling::f") + assert_equal "5", prev.attributes["id"] + + prev = XPath.first(context, "preceding-sibling::f[1]") + assert_equal "5", prev.attributes["id"] + + prev = XPath.first(context, "preceding-sibling::f[2]") + assert_equal "4", prev.attributes["id"] + + prev = XPath.first(context, "preceding-sibling::f[3]") + assert_equal "3", prev.attributes["id"] + end +end + |