Mercurial > code > home > repos > light9
annotate light9/web/graph_test.coffee @ 1363:233b81d9bd9d
simple first version of SyncedGraph.runHandler
Ignore-this: bbe6aa9fe4edd0de1564b57c1077e711
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 06 Jun 2016 05:57:30 +0000 |
parents | 168262618f2d |
children | e19018a039f7 |
rev | line source |
---|---|
1363
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
1 log = console.log |
1362
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
2 assert = require('chai').assert |
1363
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
3 expect = require('chai').expect |
1362
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
4 SyncedGraph = require('./graph.js').SyncedGraph |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
5 |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
6 describe 'SyncedGraph', -> |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
7 describe 'constructor', -> |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
8 it 'should successfully make an empty graph without connecting to rdfdb', -> |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
9 g = new SyncedGraph() |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
10 g.quads() |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
11 assert.equal(g.quads().length, 0) |
168262618f2d
new test_js target for testing SyncedGraph
Drew Perttula <drewp@bigasterisk.com>
parents:
diff
changeset
|
12 |
1363
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
13 describe 'auto dependencies', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
14 graph = new SyncedGraph() |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
15 RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
16 U = (tail) -> graph.Uri('http://example.com/' + tail) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
17 A1 = U('a1') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
18 A2 = U('a2') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
19 A3 = U('a3') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
20 A4 = U('a4') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
21 ctx = U('ctx') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
22 quad = (s, p, o) -> {subject: s, predicate: p, object: o, graph: ctx} |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
23 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
24 beforeEach (done) -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
25 graph = new SyncedGraph() |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
26 graph.loadTrig(" |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
27 @prefix : <http://example.com/> . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
28 :ctx { |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
29 :a1 :a2 :a3 . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
30 :a1 :someFloat 1.5 . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
31 :a1 :someString \"hello\" . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
32 :a1 :multipleObjects :a4, :a5 . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
33 :a2 a :Type1 . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
34 :a3 a :Type1 . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
35 } |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
36 ", done) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
37 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
38 it 'calls a handler right away', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
39 called = 0 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
40 hand = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
41 called++ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
42 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
43 assert.equal(1, called) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
44 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
45 it 'calls a handler a 2nd time if the graph is patched with relevant data', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
46 called = 0 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
47 hand = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
48 called++ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
49 graph.uriValue(A1, A2) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
50 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
51 graph.applyAndSendPatch({ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
52 delQuads: [quad(A1, A2, A3)], addQuads: [quad(A1, A2, A4)]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
53 assert.equal(2, called) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
54 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
55 it 'notices new queries a handler makes upon rerun', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
56 called = 0 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
57 objsFound = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
58 hand = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
59 called++ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
60 graph.uriValue(A1, A2) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
61 if called > 1 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
62 objsFound.push(graph.objects(A1, A3)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
63 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
64 # first run looked up A1,A2,* |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
65 graph.applyAndSendPatch({ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
66 delQuads: [quad(A1, A2, A3)], addQuads: [quad(A1, A2, A4)]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
67 # second run also looked up A1,A3,* (which matched none) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
68 graph.applyAndSendPatch({ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
69 delQuads: [], addQuads: [quad(A1, A3, A4)]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
70 # third run should happen here, noticing the new A1,A3,* match |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
71 assert.equal(3, called) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
72 assert.deepEqual([[], [A4]], objsFound) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
73 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
74 it 'calls a handler again even if the handler throws an error', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
75 called = 0 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
76 hand = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
77 called++ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
78 graph.uriValue(A1, A2) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
79 throw new Error('this test handler throws an error') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
80 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
81 graph.applyAndSendPatch({ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
82 delQuads: [quad(A1, A2, A3)], addQuads: [quad(A1, A2, A4)]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
83 assert.equal(2, called) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
84 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
85 describe 'works with nested handlers', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
86 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
87 innerResults = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
88 inner = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
89 innerResults.push(graph.uriValue(A1, A2)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
90 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
91 outerResults = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
92 doRunInner = true |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
93 outer = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
94 if doRunInner |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
95 graph.runHandler(inner) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
96 outerResults.push(graph.floatValue(A1, U('someFloat'))) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
97 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
98 beforeEach -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
99 innerResults = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
100 outerResults = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
101 doRunInner = true |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
102 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
103 affectInner = { |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
104 delQuads: [quad(A1, A2, A3)], addQuads: [quad(A1, A2, A4)] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
105 } |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
106 affectOuter = { |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
107 delQuads: [ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
108 quad(A1, U('someFloat'), '"1.5"^^http://www.w3.org/2001/XMLSchema#decimal') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
109 ], addQuads: [ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
110 quad(A1, U('someFloat'), graph.LiteralRoundedFloat(2)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
111 ]} |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
112 affectBoth = { |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
113 delQuads: affectInner.delQuads.concat(affectOuter.delQuads), |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
114 addQuads: affectInner.addQuads.concat(affectOuter.addQuads) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
115 } |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
116 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
117 it 'calls everything normally once', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
118 graph.runHandler(outer) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
119 assert.deepEqual([A3], innerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
120 assert.deepEqual([1.5], outerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
121 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
122 it '[performance] reruns just the inner if its dependencies change', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
123 graph.runHandler(outer) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
124 graph.applyAndSendPatch(affectInner) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
125 assert.deepEqual([A3, A4], innerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
126 assert.deepEqual([1.5], outerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
127 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
128 it '[performance] reruns the outer (and therefore inner) if its dependencies change', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
129 graph.runHandler(outer) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
130 graph.applyAndSendPatch(affectOuter) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
131 assert.deepEqual([A3, A3], innerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
132 assert.deepEqual([1.5, 2], outerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
133 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
134 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
135 it '[performance] does not send a redundant inner run if it is already rerunning outer', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
136 # Note that outer may or may not call inner each time, and we |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
137 # don't want to redundantly call inner. We need to: |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
138 # 1. build the set of handlers to rerun, |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
139 # 2. call them from outside-in, and |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
140 # 3. any runHandler calls that happen, they need to count as reruns. |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
141 graph.runHandler(outer) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
142 graph.applyAndSendPatch(affectBoth) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
143 assert.deepEqual([A3, A4], innerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
144 assert.deepEqual([1.5, 2], outerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
145 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
146 it 'reruns the outer and the inner if all dependencies change, but outer omits calling inner this time', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
147 graph.runHandler(outer) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
148 doRunInner = false |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
149 graph.applyAndSendPatch(affectBoth) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
150 assert.deepEqual([A3, A4], innerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
151 assert.deepEqual([1.5, 2], outerResults) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
152 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
153 describe 'watches calls to:', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
154 it 'floatValue', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
155 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
156 hand = -> values.push(graph.floatValue(A1, U('someFloat'))) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
157 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
158 graph.patchObject(A1, U('someFloat'), graph.LiteralRoundedFloat(2), ctx) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
159 assert.deepEqual([1.5, 2.0], values) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
160 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
161 it 'stringValue', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
162 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
163 hand = -> values.push(graph.stringValue(A1, U('someString'))) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
164 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
165 graph.patchObject(A1, U('someString'), graph.Literal('world'), ctx) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
166 assert.deepEqual(['hello', 'world'], values) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
167 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
168 it 'uriValue', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
169 # covered above, but this one tests patchObject on a uri, too |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
170 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
171 hand = -> values.push(graph.uriValue(A1, A2)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
172 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
173 graph.patchObject(A1, A2, A4, ctx) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
174 assert.deepEqual([A3, A4], values) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
175 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
176 it 'objects', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
177 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
178 hand = -> values.push(graph.objects(A1, U('multipleObjects'))) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
179 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
180 graph.patchObject(A1, U('multipleObjects'), U('newOne'), ctx) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
181 expect(values[0]).to.deep.have.members([U('a4'), U('a5')]) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
182 expect(values[1]).to.deep.have.members([U('newOne')]) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
183 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
184 it 'subjects', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
185 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
186 rdfType = graph.Uri(RDF + 'type') |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
187 hand = -> values.push(graph.subjects(rdfType, U('Type1'))) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
188 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
189 graph.applyAndSendPatch( |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
190 {delQuads: [], addQuads: [quad(A4, rdfType, U('Type1'))]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
191 expect(values[0]).to.deep.have.members([A2, A3]) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
192 expect(values[1]).to.deep.have.members([A2, A3, A4]) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
193 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
194 describe 'items', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
195 it 'when the list order changes', (done) -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
196 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
197 successes = 0 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
198 hand = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
199 try |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
200 head = graph.uriValue(U('x'), U('y')) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
201 catch |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
202 # graph goes empty between clearGraph and loadTrig |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
203 return |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
204 values.push(graph.items(head)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
205 successes++ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
206 graph.clearGraph() |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
207 graph.loadTrig " |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
208 @prefix : <http://example.com/> . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
209 :ctx { :x :y (:a1 :a2 :a3) } . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
210 ", () -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
211 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
212 graph.clearGraph() |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
213 graph.loadTrig " |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
214 @prefix : <http://example.com/> . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
215 :ctx { :x :y (:a1 :a3 :a2) } . |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
216 ", () -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
217 assert.deepEqual([[A1, A2, A3], [A1, A3, A2]], values) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
218 assert.equal(2, successes) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
219 done() |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
220 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
221 describe 'contains', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
222 it 'when a new triple is added', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
223 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
224 hand = -> values.push(graph.contains(A1, A1, A1)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
225 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
226 graph.applyAndSendPatch( |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
227 {delQuads: [], addQuads: [quad(A1, A1, A1)]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
228 assert.deepEqual([false, true], values) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
229 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
230 it 'when a relevant triple is removed', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
231 values = [] |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
232 hand = -> values.push(graph.contains(A1, A2, A3)) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
233 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
234 graph.applyAndSendPatch( |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
235 {delQuads: [quad(A1, A2, A3)], addQuads: []}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
236 assert.deepEqual([true, false], values) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
237 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
238 describe 'performs well', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
239 it "[performance] doesn't call handler a 2nd time if the graph gets an unrelated patch", -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
240 called = 0 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
241 hand = -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
242 called++ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
243 graph.uriValue(A1, A2) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
244 graph.runHandler(hand) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
245 graph.applyAndSendPatch({ |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
246 delQuads: [], addQuads: [quad(A2, A3, A4)]}) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
247 assert.equal(1, called) |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
248 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
249 it '[performance] calls a handler 2x but then not again if the handler stopped caring about the data', -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
250 assert.fail() |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
251 |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
252 it "[performance] doesn't get slow if the handler makes tons of repetitive lookups", -> |
233b81d9bd9d
simple first version of SyncedGraph.runHandler
Drew Perttula <drewp@bigasterisk.com>
parents:
1362
diff
changeset
|
253 assert.fail() |