diff options
| author | Igor Minar | 2011-03-30 09:35:59 -0700 |
|---|---|---|
| committer | Igor Minar | 2011-03-30 15:22:22 -0700 |
| commit | c06c5a36b108c6ad20776923d75eb6f32ace591b (patch) | |
| tree | e9a7e52b37702f175cb01aaefd0955c06a8d6be8 /test/service/xhr.cacheSpec.js | |
| parent | 9985104dc0a2f96b1b318a8b662c0806a96f312b (diff) | |
| download | angular.js-c06c5a36b108c6ad20776923d75eb6f32ace591b.tar.bz2 | |
make xhr.cache optionally synchronous
- add `sync` flag xhr.cache
- change ng:include to use the sync flag
- change ng:view to use the sync flag
The end result is that there are fewer repaints in the browser,
which means less "blinking" that user sees.
Diffstat (limited to 'test/service/xhr.cacheSpec.js')
| -rw-r--r-- | test/service/xhr.cacheSpec.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/service/xhr.cacheSpec.js b/test/service/xhr.cacheSpec.js index 82b33b72..0a0140a6 100644 --- a/test/service/xhr.cacheSpec.js +++ b/test/service/xhr.cacheSpec.js @@ -107,6 +107,22 @@ describe('$xhr.cache', function() { }); + it('should call callback synchronously when sync flag is on', function() { + $browserXhr.expectGET('/url').respond('+'); + cache('GET', '/url', null, callback, false, true); + expect(log).toEqual(''); //callback hasn't executed + + $browserXhr.flush(); + expect(log).toEqual('"+";'); //callback has executed + + cache('GET', '/url', null, callback, false, true); + expect(log).toEqual('"+";"+";'); //callback has executed + + $browser.defer.flush(); + expect(log).toEqual('"+";"+";'); //callback was not called again any more + }); + + it('should call eval after callbacks for both cache hit and cache miss execute', function() { var eval = this.spyOn(scope, '$eval').andCallThrough(); |
