mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 15:40:22 +00:00
- split up services into files under src/service - split up specs into files under test/service - rewrite all specs so that they don't depend on one global forEach - get rid of obsolete code and tests in ng:switch - rename mock $log spec from "$log" to "$log mock"
61 lines
1.7 KiB
JavaScript
61 lines
1.7 KiB
JavaScript
describe('$updateView', function() {
|
|
var scope, browser, evalCount, $updateView;
|
|
|
|
beforeEach(function(){
|
|
browser = new MockBrowser();
|
|
// Pretend that you are real Browser so that we see the delays
|
|
browser.isMock = false;
|
|
browser.defer = jasmine.createSpy('defer');
|
|
|
|
scope = angular.scope(null, null, {$browser:browser});
|
|
$updateView = scope.$service('$updateView');
|
|
scope.$onEval(function(){ evalCount++; });
|
|
evalCount = 0;
|
|
});
|
|
|
|
|
|
afterEach(function(){
|
|
dealoc(scope);
|
|
});
|
|
|
|
|
|
it('should eval root scope after a delay', function(){
|
|
$updateView();
|
|
expect(evalCount).toEqual(0);
|
|
expect(browser.defer).toHaveBeenCalled();
|
|
expect(browser.defer.mostRecentCall.args[1]).toEqual(25);
|
|
browser.defer.mostRecentCall.args[0]();
|
|
expect(evalCount).toEqual(1);
|
|
});
|
|
|
|
|
|
it('should allow changing of delay time', function(){
|
|
var oldValue = angular.service('$updateView').delay;
|
|
angular.service('$updateView').delay = 50;
|
|
$updateView();
|
|
expect(evalCount).toEqual(0);
|
|
expect(browser.defer).toHaveBeenCalled();
|
|
expect(browser.defer.mostRecentCall.args[1]).toEqual(50);
|
|
angular.service('$updateView').delay = oldValue;
|
|
});
|
|
|
|
|
|
it('should ignore multiple requests for update', function(){
|
|
$updateView();
|
|
$updateView();
|
|
expect(evalCount).toEqual(0);
|
|
expect(browser.defer).toHaveBeenCalled();
|
|
expect(browser.defer.callCount).toEqual(1);
|
|
browser.defer.mostRecentCall.args[0]();
|
|
expect(evalCount).toEqual(1);
|
|
});
|
|
|
|
|
|
it('should update immediatelly in test/mock mode', function(){
|
|
scope = angular.scope();
|
|
scope.$onEval(function(){ evalCount++; });
|
|
expect(evalCount).toEqual(0);
|
|
scope.$service('$updateView')();
|
|
expect(evalCount).toEqual(1);
|
|
});
|
|
});
|