aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2011-07-01 17:03:50 -0700
committerIgor Minar2011-07-01 17:03:50 -0700
commit75721223b56f8fa02958690dcc9c2f2445271b98 (patch)
treeffa18706a4ebb9c3d1be44141c9676a2c6aeb5cc
parentf606ffed4bc02737f57bec18db0875102dde0ea8 (diff)
downloadangular.js-75721223b56f8fa02958690dcc9c2f2445271b98.tar.bz2
fix:$browser mock: defer.flush() should flush all fns
-rw-r--r--src/angular-mocks.js11
-rw-r--r--test/angular-mocksSpec.js10
2 files changed, 11 insertions, 10 deletions
diff --git a/src/angular-mocks.js b/src/angular-mocks.js
index 887d3520..916005a5 100644
--- a/src/angular-mocks.js
+++ b/src/angular-mocks.js
@@ -169,8 +169,15 @@ function MockBrowser() {
self.defer.now = 0;
- self.defer.flush = function(time) {
- self.defer.now += (time || 0);
+ self.defer.flush = function(delay) {
+ if (angular.isDefined(delay)) {
+ self.defer.now += delay;
+ } else {
+ if (self.deferredFns.length) {
+ self.defer.now = self.deferredFns[self.deferredFns.length-1].time;
+ }
+ }
+
while (self.deferredFns.length && self.deferredFns[0].time <= self.defer.now) {
self.deferredFns.shift().fn();
}
diff --git a/test/angular-mocksSpec.js b/test/angular-mocksSpec.js
index 5463f3a0..dac691b0 100644
--- a/test/angular-mocksSpec.js
+++ b/test/angular-mocksSpec.js
@@ -190,16 +190,10 @@ describe('mocks', function(){
expect(log).toEqual('');
expect(browser.defer.now).toEqual(0);
- browser.defer.flush();
- browser.defer.flush();
+ browser.defer.flush(0);
expect(log).toEqual('A;');
- browser.defer.flush(10);
- expect(browser.defer.now).toEqual(10);
- expect(log).toEqual('A;B;');
-
- browser.defer.flush(10);
- expect(browser.defer.now).toEqual(20);
+ browser.defer.flush();
expect(log).toEqual('A;B;C;');
});