| 1 | require 'test/unit' |
|---|
| 2 | require "rexml/document" |
|---|
| 3 | |
|---|
| 4 | class RexmlTest < Test::Unit::TestCase |
|---|
| 5 | def setup |
|---|
| 6 | file = File.open( "xpath_bug.xml" ) |
|---|
| 7 | @doc = REXML::Document.new file |
|---|
| 8 | end |
|---|
| 9 | def fixture xpath |
|---|
| 10 | matches = [] |
|---|
| 11 | @doc.elements.each(xpath) do |element| |
|---|
| 12 | matches << element |
|---|
| 13 | assert_equal('Add', element.text) |
|---|
| 14 | assert_equal('ButtonText', element.attributes['class']) |
|---|
| 15 | end |
|---|
| 16 | assert_equal(1, matches.length) |
|---|
| 17 | end |
|---|
| 18 | def test_text |
|---|
| 19 | fixture "//div[text()='Add' and @class='ButtonText']" |
|---|
| 20 | end |
|---|
| 21 | def test_contains |
|---|
| 22 | fixture "//div[contains(.,'Add') and @class='ButtonText']" |
|---|
| 23 | end |
|---|
| 24 | end |
|---|