-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeps-parser.js
47 lines (37 loc) · 1.15 KB
/
deps-parser.js
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
describe('Dependency Parser', function () {
var DepsParser = require('vue/src/deps-parser')
describe('.parse()', function () {
// mock the bidnings...
var bindings = [],
catcher = DepsParser.catcher
for (var i = 0; i < 10; i++) {
mockBinding(i)
}
function mockBinding (i) {
var b = {
id: i,
depId: ~~(Math.random() * i),
deps: [],
subs: [],
compiler: {},
value: {
$get: function () {
if (i > 0) {
catcher.emit('get', bindings[b.depId])
}
}
}
}
bindings.push(b)
}
DepsParser.parse(bindings)
it('should parse the deps correctly', function () {
bindings.forEach(function (b) {
if (b.id === 0) return
var dep = b.deps[0]
assert.strictEqual(dep.id, b.depId)
assert.ok(dep.subs.indexOf(b) > -1)
})
})
})
})