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
|
var assert = require("assert");
var transforms = require("../lib/transforms");
var test = require("./test")(module);
test("getDescendants()", {
"returns nothing if element has no children property": function() {
assert.deepEqual(transforms.getDescendants({}), []);
},
"returns nothing if element has empty children": function() {
assert.deepEqual(transforms.getDescendants({children: []}), []);
},
"includes children": function() {
var element = {
children: [{name: "child 1"}, {name: "child 2"}]
}
assert.deepEqual(
transforms.getDescendants(element),
[{name: "child 1"}, {name: "child 2"}]
);
},
"includes indirect descendants": function() {
var grandchild = {name: "grandchild"};
var child = {name: "child", children: [grandchild]};
var element = {children: [child]};
assert.deepEqual(
transforms.getDescendants(element),
[grandchild, child]
);
}
});
test("getDescendantsOfType()", {
"filters descendants to type": function() {
var paragraph = {type: "paragraph"};
var run = {type: "run"};
var element = {
children: [paragraph, run]
};
assert.deepEqual(
transforms.getDescendantsOfType(element, "run"),
[run]
);
}
});
|