Nested 'then' not working properly. Fixed#197
Conversation
In previous version nested then didn't work at expected:
context.load("templates/home.template"
).then(function(){
context.log("1");
this.load("templates/home.template"
).then(function(){
context.log("2");
this.load("templates/home.template"
).then(function(){
context.log("3");
this.load("templates/home.template"
).then(function(){
context.log("3a");
}).then(function(){
context.log("3b");
});
});
}).then(function(){
context.log("4");
});
}).then(function(){
context.log("5");
}).then(function(){
context.log("6");
this.load("templates/home.template"
).then(function(){
context.log("7");
this.load("templates/home.template"
).then(function(){
context.log("8");
});
}).then(function(){
context.log("9");
});
});
returns:
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 1 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 5 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 6 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 2 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 4 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 7 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 9 sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 3 sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 8 sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 3a sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 3b sammy.js:97
With the change it outputs what we expect:
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 1 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 2 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 3 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 3a sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 3b sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 4 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 5 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 6 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 7 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 8 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 9 sammy.js:97
There was a problem hiding this comment.
Here we translate the push() to an splice() at the highest index inside this nested then
|
Can you please add a test for this? |
|
How do i do it? |
|
Look at the other tests. You might push different strings on to an array in the nested thens and then check afterwards that the strings are in the correct order. If the test fails before the change and works after, it's most likely correct (: Probably somewhere in render_context_spec.js. To run the tests, just run |
|
As I posted, I made a test and also send a patch to fix it... I don't really understand what you need. |
|
@jah0wl I think he's looking for a code test, essentially what you have written out but in the |
In previous version nested then didn't work at expected:
returns:
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 1 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 5 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 6 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 2 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 4 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 7 sammy.js:97
[Fri Jun 07 2013 16:47:28 GMT+0200 (CEST)] 9 sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 3 sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 8 sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 3a sammy.js:97
[Fri Jun 07 2013 16:47:39 GMT+0200 (CEST)] 3b sammy.js:97
With the change it outputs what we expect:
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 1 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 2 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 3 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 3a sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 3b sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 4 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 5 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 6 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 7 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 8 sammy.js:97
[Fri Jun 07 2013 16:48:41 GMT+0200 (CEST)] 9 sammy.js:97