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.
|
||||
#
|
||||
def delete(node)
|
||||
@nodes.delete(node)
|
||||
removed = @nodes.delete(node)
|
||||
|
||||
remove_ownership(removed) if removed
|
||||
|
||||
return removed
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -223,8 +223,9 @@ describe Oga::XML::NodeSet do
|
|||
|
||||
context '#delete' do
|
||||
before do
|
||||
@n1 = Oga::XML::Element.new(:name => 'a')
|
||||
@set = described_class.new([@n1])
|
||||
owner = Oga::XML::Element.new
|
||||
@n1 = Oga::XML::Element.new
|
||||
@set = described_class.new([@n1], owner)
|
||||
end
|
||||
|
||||
example 'return the node when deleting it' do
|
||||
|
@ -236,6 +237,12 @@ describe Oga::XML::NodeSet do
|
|||
|
||||
@set.empty?.should == true
|
||||
end
|
||||
|
||||
example 'remove ownership of the removed node' do
|
||||
@set.delete(@n1)
|
||||
|
||||
@n1.node_set.nil?.should == true
|
||||
end
|
||||
end
|
||||
|
||||
context '#attribute' do
|
||||
|
|
Loading…
Reference in New Issue