require "helper"
module Nokogiri
module XML
class TestAttr < Nokogiri::TestCase
def test_new
100.times {
doc = Nokogiri::XML::Document.new
assert doc
assert Nokogiri::XML::Attr.new(doc, 'foo')
}
end
def test_content=
xml = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE)
address = xml.xpath('//address')[3]
street = address.attributes['street']
street.content = "Y&ent1;"
assert_equal "Y&ent1;", street.value
end
def test_value=
xml = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE)
address = xml.xpath('//address')[3]
street = address.attributes['street']
street.value = "Y&ent1;"
assert_equal "Y&ent1;", street.value
end
def test_unlink # aliased as :remove
xml = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE)
address = xml.xpath('/staff/employee/address').first
assert_equal 'Yes', address['domestic']
attr = address.attribute_nodes.first
return_val = attr.unlink
assert_nil address['domestic']
assert_equal attr, return_val
end
def test_parsing_attribute_namespace
doc = Nokogiri::XML <<-EOXML
EOXML
node = doc.at_css "div"
attr = node.attributes["myattr"]
assert_equal "http://flavorjon.es/", attr.namespace.href
end
def test_setting_attribute_namespace
doc = Nokogiri::XML <<-EOXML
EOXML
node = doc.at_css "div"
attr = node.attributes["myattr"]
attr.add_namespace("fizzle", "http://fizzle.com/")
assert_equal "http://fizzle.com/", attr.namespace.href
end
end
end
end