Socket
Socket
Sign inDemoInstall

min-document

Package Overview
Dependencies
0
Maintainers
2
Versions
38
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.5.0 to 2.6.0

36

dom-element.js

@@ -30,2 +30,6 @@ var dispatchEvent = require("./event/dispatch-event.js")

DOMElement.prototype.appendChild = function _Element_appendChild(child) {
if (child.parentNode) {
child.parentNode.removeChild(child)
}
this.childNodes.push(child)

@@ -37,4 +41,11 @@ child.parentNode = this

function _Element_replaceChild(elem, needle) {
// TODO: Throw NotFoundError if needle.parentNode !== this
if (elem.parentNode) {
elem.parentNode.removeChild(elem)
}
var index = this.childNodes.indexOf(needle)
needle.parentNode = null
this.childNodes[index] = elem

@@ -45,7 +56,32 @@ elem.parentNode = this

DOMElement.prototype.removeChild = function _Element_removeChild(elem) {
// TODO: Throw NotFoundError if elem.parentNode !== this
var index = this.childNodes.indexOf(elem)
this.childNodes[index].parentNode = null
this.childNodes.splice(index, 1)
}
DOMElement.prototype.insertBefore =
function _Element_insertBefore(newElement, referenceElement) {
// TODO: Throw NotFoundError if referenceElement is a dom node
// and parentNode !== this
if (newElement.parentNode) {
newElement.parentNode.removeChild(newElement)
}
var index = referenceElement ?
this.childNodes.indexOf(referenceElement) :
-1
if (index > -1) {
this.childNodes.splice(index, 0, newElement)
} else {
this.childNodes.push(newElement)
}
newElement.parentNode = this
}
DOMElement.prototype.addEventListener = addEventListener

@@ -52,0 +88,0 @@ DOMElement.prototype.dispatchEvent = dispatchEvent

2

package.json
{
"name": "min-document",
"version": "2.5.0",
"version": "2.6.0",
"description": "A minimal DOM implementation",

@@ -5,0 +5,0 @@ "keywords": [],

@@ -57,3 +57,2 @@ var test = require("tape")

test("can getElementById", function (assert) {

@@ -137,27 +136,27 @@

assert.equal(noNS.namespaceURI, htmlURI)
assert.equal(String(noNS.outerHTML || noNS), "<div></div>")
assert.equal(elemString(noNS), "<div></div>")
assert.equal(svgNS.tagName, "svg")
assert.equal(svgNS.namespaceURI, svgURI)
assert.equal(String(svgNS.outerHTML || svgNS), "<svg></svg>")
assert.equal(elemString(svgNS), "<svg></svg>")
assert.equal(emptyNS.tagName, "div")
assert.equal(emptyNS.namespaceURI, null)
assert.equal(String(emptyNS.outerHTML || emptyNS), "<div></div>")
assert.equal(elemString(emptyNS), "<div></div>")
assert.equal(nullNS.tagName, "div")
assert.equal(nullNS.namespaceURI, null)
assert.equal(String(nullNS.outerHTML || nullNS), "<div></div>")
assert.equal(elemString(nullNS), "<div></div>")
assert.equal(undefNS.tagName, "div")
assert.equal(undefNS.namespaceURI, "undefined")
assert.equal(String(undefNS.outerHTML || undefNS), "<div></div>")
assert.equal(elemString(undefNS), "<div></div>")
assert.equal(caseNS.tagName, "AbC")
assert.equal(caseNS.namespaceURI, "Oops")
assert.equal(String(caseNS.outerHTML || caseNS), "<AbC></AbC>")
assert.equal(elemString(caseNS), "<AbC></AbC>")
assert.equal(htmlNS.tagName, "DIV")
assert.equal(htmlNS.namespaceURI, htmlURI)
assert.equal(String(htmlNS.outerHTML || undefNS), "<div></div>")
assert.equal(elemString(htmlNS), "<div></div>")

@@ -167,2 +166,69 @@ assert.end()

test("Can insert before", function (assert) {
var rootNode = document.createElement("div")
var child = document.createElement("div")
var newElement = document.createElement("div")
rootNode.appendChild(child)
rootNode.insertBefore(newElement, child)
assert.equal(rootNode.childNodes.length, 2)
assert.equal(rootNode.childNodes[0], newElement)
assert.equal(rootNode.childNodes[1], child)
assert.end()
})
test("Insert before null appends to end", function (assert) {
var rootNode = document.createElement("div")
var child = document.createElement("div")
var newElement = document.createElement("div")
rootNode.appendChild(child)
rootNode.insertBefore(newElement, null)
assert.equal(rootNode.childNodes.length, 2)
assert.equal(rootNode.childNodes[0], child)
assert.equal(rootNode.childNodes[1], newElement)
assert.end()
})
test("Node insertions remove node from parent", function (assert) {
var parent = document.createElement("div")
var c1 = document.createElement("div")
var c2 = document.createElement("div")
var c3 = document.createElement("div")
parent.appendChild(c1)
parent.appendChild(c2)
parent.appendChild(c3)
var rootNode = document.createElement("div")
rootNode.appendChild(c1)
assert.equal(parent.childNodes.length, 2)
assert.equal(c1.parentNode, rootNode)
rootNode.insertBefore(c2, c1)
assert.equal(parent.childNodes.length, 1)
assert.equal(c2.parentNode, rootNode)
rootNode.replaceChild(c3, c2)
assert.equal(parent.childNodes.length, 0)
assert.equal(c3.parentNode, rootNode)
assert.equal(c2.parentNode, null)
assert.end()
})
function elemString(element) {
var html = String(element) || "[]"
if (html.charAt(0) === "[") {
html = element.outerHTML
if (!html && !element.parentNode) {
var div = document.createElement("div")
div.appendChild(element)
html = div.innerHTML
div.removeChild(element)
}
}
return html
}
function fragString(fragment) {

@@ -169,0 +235,0 @@ var html = String(fragment)

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc