mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-23 09:50:24 +00:00
fix:$browser mock: defer.flush() should flush all fns
This commit is contained in:
parent
f606ffed4b
commit
75721223b5
2 changed files with 11 additions and 10 deletions
11
src/angular-mocks.js
vendored
11
src/angular-mocks.js
vendored
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
10
test/angular-mocksSpec.js
vendored
10
test/angular-mocksSpec.js
vendored
|
|
@ -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;');
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue