Remove ownership when using NodeSet#delete.
This commit is contained in:
parent
4b408eae4f
commit
e69fbc3ea7
|
@ -188,7 +188,11 @@ module Oga
|
||||||
# Removes a node from the current set only.
|
# Removes a node from the current set only.
|
||||||
#
|
#
|
||||||
def delete(node)
|
def delete(node)
|
||||||
@nodes.delete(node)
|
removed = @nodes.delete(node)
|
||||||
|
|
||||||
|
remove_ownership(removed) if removed
|
||||||
|
|
||||||
|
return removed
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
@ -223,8 +223,9 @@ describe Oga::XML::NodeSet do
|
||||||
|
|
||||||
context '#delete' do
|
context '#delete' do
|
||||||
before do
|
before do
|
||||||
@n1 = Oga::XML::Element.new(:name => 'a')
|
owner = Oga::XML::Element.new
|
||||||
@set = described_class.new([@n1])
|
@n1 = Oga::XML::Element.new
|
||||||
|
@set = described_class.new([@n1], owner)
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'return the node when deleting it' do
|
example 'return the node when deleting it' do
|
||||||
|
@ -236,6 +237,12 @@ describe Oga::XML::NodeSet do
|
||||||
|
|
||||||
@set.empty?.should == true
|
@set.empty?.should == true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
example 'remove ownership of the removed node' do
|
||||||
|
@set.delete(@n1)
|
||||||
|
|
||||||
|
@n1.node_set.nil?.should == true
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#attribute' do
|
context '#attribute' do
|
||||||
|
|
Loading…
Reference in New Issue