Blame view

node_modules/domutils/test/tests/legacy.js 3.12 KB
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
  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>"
  			);
  		});
  	});
  
  });