aboutsummaryrefslogtreecommitdiffstats
path: root/test/service/xhr.cacheSpec.js
diff options
context:
space:
mode:
authorIgor Minar2011-03-30 09:35:59 -0700
committerIgor Minar2011-03-30 15:22:22 -0700
commitc06c5a36b108c6ad20776923d75eb6f32ace591b (patch)
treee9a7e52b37702f175cb01aaefd0955c06a8d6be8 /test/service/xhr.cacheSpec.js
parent9985104dc0a2f96b1b318a8b662c0806a96f312b (diff)
downloadangular.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.js16
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();