-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed
Description
The following test looks buggy to me:
sinuous/packages/sinuous/observable/test/child.js
Lines 230 to 269 in ece2c65
| test('insures that new dependencies are updated before dependee', function(t) { | |
| var order = ''; | |
| var a = o(0); | |
| var b = S(function x() { | |
| order += 'b'; | |
| console.log('B'); | |
| return a() + 1; | |
| }); | |
| var c = S(function y() { | |
| order += 'c'; | |
| console.log('C'); | |
| return b() || d(); | |
| }); | |
| function z() { | |
| order += 'd'; | |
| console.log('D'); | |
| return a() + 10; | |
| } | |
| var d = S(z); | |
| t.equal(order, 'bcd', '1st bcd test'); | |
| order = ''; | |
| a(-1); | |
| t.equal(b(), 0, 'b equals 0'); | |
| t.equal(order, 'bcd', '2nd bcd test'); | |
| t.equal(d(), 9, 'd equals 9'); | |
| t.equal(c(), 9, 'c equals d(9)'); | |
| order = ''; | |
| a(0); | |
| t.equal(order, 'bc', '3rd bcd test'); | |
| t.equal(c(), 1); | |
| t.end(); | |
| }); |
At line 264 we are basically just updating the observable from -1 to 0. The D computed depends only on this observable and returns observable+10. Then at line 266 we say the D computed shouldn't have run, why shouldn't it?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed