min-document
Advanced tools
Comparing version 2.7.0 to 2.8.0
@@ -62,1 +62,28 @@ var DOMText = require("./dom-text.js") | ||
} | ||
proto.getElementsByClassName = function getElementsByClassName(classNames, parent) { | ||
if (classNames.indexOf(" ") != -1) { | ||
throw new Error("Not yet implemented: getElementsByClassName for multiple class names"); | ||
} | ||
if (!parent) { | ||
parent = this.body | ||
} | ||
if (parent.className === classNames) { | ||
return [parent] | ||
} | ||
var arr = parent.childNodes | ||
var result = null | ||
if (!arr) { | ||
return result | ||
} | ||
for (var i = 0, len = arr.length; !result && i < len; i++) { | ||
result = getElementsByClassName(classNames, arr[i]) | ||
} | ||
return result | ||
} |
{ | ||
"name": "min-document", | ||
"version": "2.7.0", | ||
"version": "2.8.0", | ||
"description": "A minimal DOM implementation", | ||
@@ -5,0 +5,0 @@ "keywords": [], |
@@ -90,2 +90,40 @@ var test = require("tape") | ||
test("can getElementsByClassName for a single class", function(assert) { | ||
function append_div(className, parent) { | ||
var div = document.createElement("div") | ||
div.className = className | ||
parent.appendChild(div) | ||
return div | ||
} | ||
function assertSingleMatch(className, expectedElement) { | ||
var result = document.getElementsByClassName(className) | ||
assert.equal(result.length, 1) | ||
assert.equal(result[0], expectedElement) | ||
} | ||
var divA = append_div("A", document.body) | ||
var divB = append_div("B", document.body) | ||
var divC = append_div("C", document.body) | ||
var divA1 = append_div("A1", divA) | ||
var divA2 = append_div("A2", divA) | ||
var divB1 = append_div("B1", divB) | ||
var divB2 = append_div("B2", divB) | ||
var divB2a = append_div("B2a", divB2) | ||
var divB2b = append_div("B2b", divB2) | ||
assertSingleMatch("A", divA) | ||
assertSingleMatch("B", divB) | ||
assertSingleMatch("C", divC) | ||
assertSingleMatch("A1", divA1) | ||
assertSingleMatch("A2", divA2) | ||
assertSingleMatch("B1", divB1) | ||
assertSingleMatch("B2", divB2) | ||
assertSingleMatch("B2a", divB2a) | ||
assertSingleMatch("B2b", divB2b) | ||
assert.end() | ||
}) | ||
test("can create/manipulate textnodes", function (assert) { | ||
@@ -92,0 +130,0 @@ var textnode = document.createTextNode("hello") |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
29018
601