From fe9e019b9f0c48f9eb23e9de41d5992a9e7ffa13 Mon Sep 17 00:00:00 2001 From: Erik Arvidsson Date: Mon, 10 Mar 2014 19:00:23 -0400 Subject: [PATCH] Implement ChildNode remove --- src/wrappers/node-interfaces.js | 6 ++++++ test/js/ChildNodeInterface.js | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/wrappers/node-interfaces.js b/src/wrappers/node-interfaces.js index d0b174f..42dbac3 100644 --- a/src/wrappers/node-interfaces.js +++ b/src/wrappers/node-interfaces.js @@ -50,6 +50,12 @@ } wrapperList.length = i; return wrapperList; + }, + + remove() { + var p = this.parentNode; + if (p) + p.removeChild(this); } }; diff --git a/test/js/ChildNodeInterface.js b/test/js/ChildNodeInterface.js index 1a83e90..274f922 100644 --- a/test/js/ChildNodeInterface.js +++ b/test/js/ChildNodeInterface.js @@ -51,4 +51,16 @@ suite('ChildNodeInterface', function() { assert.equal(tree.j.previousElementSibling, tree.content); }); + test('remove', function() { + var div = document.createElement('div'); + div.innerHTML = ''; + var a = div.firstChild; + a.remove(); + assert.equal(div.firstChild, null); + assert.equal(a.parentNode, null); + + // no op. + div.remove(); + }); + });