# File test/core_test.rb, line 406 def test_element_access # Testing each_element doc = Document.new File.new("benchmarks/project.xml") each_test( doc, "/", 1 ) { |child| assert_equal doc.name, child.name } each_test(doc, ".", 1) { |child| assert_equal doc, child } each_test(doc.root, "..", 1) { |child| assert_equal doc, child } each_test(doc.root, "*", 5) each_test(doc, "Project/Datasets", 1) { |child| assert_equal "Datasets", child.name } each_test(doc, "Project/Datasets/link", 2 ) each_test(doc.root, "/Project/Description", 1) {|child| assert_equal "Description", child.name } each_test(doc.root, "./Description",1 ) { |child| assert_equal "Description",child.name } each_test(doc.root, "../Project",1 ) { |child| assert_equal doc.root, child } #each_test(doc,".../link",2) {|child| assert_equal "link",child.name.to_s} # test get_element first = doc.elements[ "Project" ] assert_equal doc.root, first second = doc.elements[ "Project" ].elements[1] third = doc.elements[ "Project/Creator" ] assert_equal second, third fourth = doc.elements[ "Project/Datasets/link[@idref='18']" ] assert_equal "Test data 1", fourth.attributes["name"] # Testing each_predicate each_test( doc, "Project/Datasets/link[@idref='18']", 1 ) { |child| assert_equal "Test data 1", child.attributes["name"] } # testing next/previous_element creator = doc.elements["//Creator"] lm = creator.next_element assert_equal "LastModifier", lm.name assert_equal "Creator", lm.previous_element.name end