123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- var DomUtils = require("../..");
- var fixture = require("../fixture");
- var assert = require("assert");
- // Set up expected structures
- var expected = {
- idAsdf: fixture[1],
- tag2: [],
- typeScript: []
- };
- for (var idx = 0; idx < 20; ++idx) {
- expected.tag2.push(fixture[idx*2 + 1].children[5]);
- expected.typeScript.push(fixture[idx*2 + 1].children[1]);
- }
- describe("legacy", function() {
- describe("getElements", function() {
- var getElements = DomUtils.getElements;
- it("returns the node with the specified ID", function() {
- assert.deepEqual(
- getElements({ id: "asdf" }, fixture, true, 1),
- [expected.idAsdf]
- );
- });
- it("returns empty array for unknown IDs", function() {
- assert.deepEqual(getElements({ id: "asdfs" }, fixture, true), []);
- });
- it("returns the nodes with the specified tag name", function() {
- assert.deepEqual(
- getElements({ tag_name:"tag2" }, fixture, true),
- expected.tag2
- );
- });
- it("returns empty array for unknown tag names", function() {
- assert.deepEqual(
- getElements({ tag_name : "asdfs" }, fixture, true),
- []
- );
- });
- it("returns the nodes with the specified tag type", function() {
- assert.deepEqual(
- getElements({ tag_type: "script" }, fixture, true),
- expected.typeScript
- );
- });
- it("returns empty array for unknown tag types", function() {
- assert.deepEqual(
- getElements({ tag_type: "video" }, fixture, true),
- []
- );
- });
- });
- describe("getElementById", function() {
- var getElementById = DomUtils.getElementById;
- it("returns the specified node", function() {
- assert.equal(
- expected.idAsdf,
- getElementById("asdf", fixture, true)
- );
- });
- it("returns `null` for unknown IDs", function() {
- assert.equal(null, getElementById("asdfs", fixture, true));
- });
- });
- describe("getElementsByTagName", function() {
- var getElementsByTagName = DomUtils.getElementsByTagName;
- it("returns the specified nodes", function() {
- assert.deepEqual(
- getElementsByTagName("tag2", fixture, true),
- expected.tag2
- );
- });
- it("returns empty array for unknown tag names", function() {
- assert.deepEqual(
- getElementsByTagName("tag23", fixture, true),
- []
- );
- });
- });
- describe("getElementsByTagType", function() {
- var getElementsByTagType = DomUtils.getElementsByTagType;
- it("returns the specified nodes", function() {
- assert.deepEqual(
- getElementsByTagType("script", fixture, true),
- expected.typeScript
- );
- });
- it("returns empty array for unknown tag types", function() {
- assert.deepEqual(
- getElementsByTagType("video", fixture, true),
- []
- );
- });
- });
- describe("getOuterHTML", function() {
- var getOuterHTML = DomUtils.getOuterHTML;
- it("Correctly renders the outer HTML", function() {
- assert.equal(
- getOuterHTML(fixture[1]),
- "<tag1 id=\"asdf\"> <script>text</script> <!-- comment --> <tag2> text </tag2></tag1>"
- );
- });
- });
- describe("getInnerHTML", function() {
- var getInnerHTML = DomUtils.getInnerHTML;
- it("Correctly renders the inner HTML", function() {
- assert.equal(
- getInnerHTML(fixture[1]),
- " <script>text</script> <!-- comment --> <tag2> text </tag2>"
- );
- });
- });
- });
|