2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2020-09-15 15:54:31 -04:00
|
|
|
ruby_version_is ''...'3.0' do
|
2020-01-11 18:14:26 -05:00
|
|
|
require 'rexml/document'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2020-01-11 18:14:26 -05:00
|
|
|
describe "REXML::Attributes#delete_all" do
|
|
|
|
before :each do
|
|
|
|
@e = REXML::Element.new("root")
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2020-01-11 18:14:26 -05:00
|
|
|
it "deletes all attributes that match name" do
|
|
|
|
uri = REXML::Attribute.new("uri", "http://something")
|
|
|
|
@e.attributes << uri
|
|
|
|
@e.attributes.delete_all("uri")
|
|
|
|
@e.attributes.should be_empty
|
|
|
|
@e.attributes["uri"].should == nil
|
|
|
|
end
|
|
|
|
|
|
|
|
it "deletes all attributes that match name with a namespace" do
|
|
|
|
ns_uri = REXML::Attribute.new("xmlns:uri", "http://something_here_too")
|
|
|
|
@e.attributes << ns_uri
|
|
|
|
@e.attributes.delete_all("xmlns:uri")
|
|
|
|
@e.attributes.should be_empty
|
|
|
|
@e.attributes["xmlns:uri"].should == nil
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2020-01-11 18:14:26 -05:00
|
|
|
it "returns the removed attribute" do
|
|
|
|
uri = REXML::Attribute.new("uri", "http://something_here_too")
|
|
|
|
@e.attributes << uri
|
|
|
|
attrs = @e.attributes.delete_all("uri")
|
|
|
|
attrs.first.should == uri
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
end
|