forked from firefox-devtools/debugger
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdateTree.spec.js
More file actions
98 lines (80 loc) · 2.33 KB
/
Copy pathupdateTree.spec.js
File metadata and controls
98 lines (80 loc) · 2.33 KB
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
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
import { Map } from "immutable";
import { updateTree, createTree } from "../index";
function createSourcesMap(sources) {
const msources = sources.map((s, i) => new Map(s));
let sourcesMap = Map();
msources.forEach(s => {
sourcesMap = sourcesMap.mergeIn([s.get("id")], s);
});
return sourcesMap;
}
function formatTree(tree) {
return JSON.stringify(tree.uncollapsedTree, null, 2);
}
const sources = [
{
id: "server1.conn13.child1/39",
url: "https://davidwalsh.name/"
},
{
id: "server1.conn13.child1/37",
url: "https://davidwalsh.name/source1.js"
},
{
id: "server1.conn13.child1/40",
url: "https://davidwalsh.name/source2.js"
}
];
const debuggeeUrl = "blah";
describe("calls updateTree.js", () => {
it("adds one source", () => {
const prevSources = createSourcesMap([sources[0]]);
const { sourceTree, uncollapsedTree } = createTree({
debuggeeUrl,
sources: prevSources
});
const newTree = updateTree({
debuggeeUrl,
prevSources,
newSources: createSourcesMap([sources[0], sources[1]]),
uncollapsedTree,
sourceTree
});
expect(formatTree(newTree)).toMatchSnapshot();
});
it("adds two sources", () => {
const prevSources = createSourcesMap([sources[0]]);
const { sourceTree, uncollapsedTree } = createTree({
debuggeeUrl,
sources: prevSources
});
const newTree = updateTree({
debuggeeUrl,
prevSources,
newSources: createSourcesMap([sources[0], sources[1], sources[2]]),
uncollapsedTree,
sourceTree
});
expect(formatTree(newTree)).toMatchSnapshot();
});
// NOTE: we currently only add sources to the tree and clear the tree
// on navigate.
it("shows all the sources", () => {
const prevSources = createSourcesMap([sources[0]]);
const { sourceTree, uncollapsedTree } = createTree({
debuggeeUrl,
sources: prevSources
});
const newTree = updateTree({
debuggeeUrl,
prevSources,
newSources: createSourcesMap([sources[1]]),
uncollapsedTree,
sourceTree
});
expect(formatTree(newTree)).toMatchSnapshot();
});
});