提交 622aa212 编写于 作者: R Rudá Moura

avocado.core.tree: Add method to detach a node.

Add method to detach a node from the tree.
Signed-off-by: NRudá Moura <rmoura@redhat.com>
上级 6ae62b03
......@@ -192,6 +192,12 @@ class TreeNode(object):
else:
return [char1 + '-' + node_name], 0
def detach(self):
if self.parent:
self.parent.children.remove(self)
self.parent = None
return self
def ordered_load(stream, Loader=yaml.Loader,
object_pairs_hook=collections.OrderedDict):
......
......@@ -127,6 +127,11 @@ class TestTreeNode(unittest.TestCase):
self.assertDictEqual(self.treenode.children[1].children[1].children[0].environment, {'dev-tools': 'cygwin', 'metro': False})
self.assertDictEqual(self.treenode.children[1].children[1].children[1].environment, {'dev-tools': 'cygwin', 'metro': True})
def test_detach(self):
n = self.treenode.children[1].detach()
self.assertEqual(n.name, 'os')
self.assertNotIn(n, self.treenode.children)
if __name__ == '__main__':
unittest.main()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册