mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-03-29 08:49:06 +08:00
added outstanding request queue
This commit is contained in:
48
test/BrowserSpecs.js
Normal file
48
test/BrowserSpecs.js
Normal file
@@ -0,0 +1,48 @@
|
||||
describe('browser', function(){
|
||||
|
||||
var browser, location;
|
||||
|
||||
beforeEach(function(){
|
||||
location = {href:"http://server", hash:""};
|
||||
browser = new Browser(location, {});
|
||||
browser.setTimeout = noop;
|
||||
});
|
||||
|
||||
it('should watch url', function(){
|
||||
browser.delay = 1;
|
||||
expectAsserts(2);
|
||||
browser.watchUrl(function(url){
|
||||
assertEquals('http://getangular.test', url);
|
||||
});
|
||||
browser.setTimeout = function(fn, delay){
|
||||
assertEquals(1, delay);
|
||||
location.href = "http://getangular.test";
|
||||
browser.setTimeout = function(fn, delay) {};
|
||||
fn();
|
||||
};
|
||||
browser.startUrlWatcher();
|
||||
});
|
||||
|
||||
describe('outstading requests', function(){
|
||||
it('should process callbacks immedietly with no outstanding requests', function(){
|
||||
var callback = jasmine.createSpy('callback');
|
||||
browser.notifyWhenNoOutstandingRequests(callback);
|
||||
expect(callback).wasCalled();
|
||||
});
|
||||
|
||||
it('should queue callbacks with outstanding requests', function(){
|
||||
var callback = jasmine.createSpy('callback');
|
||||
browser.outstandingRequests.count = 1;
|
||||
browser.notifyWhenNoOutstandingRequests(callback);
|
||||
expect(callback).not.wasCalled();
|
||||
|
||||
browser.processRequestCallbacks();
|
||||
expect(callback).not.wasCalled();
|
||||
|
||||
browser.outstandingRequests.count = 0;
|
||||
browser.processRequestCallbacks();
|
||||
expect(callback).wasCalled();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1,25 +0,0 @@
|
||||
BrowserTest = TestCase('BrowserTest');
|
||||
|
||||
BrowserTest.prototype.testUrlWatcher = function () {
|
||||
expectAsserts(2);
|
||||
var location = {href:"http://server", hash:""};
|
||||
var watcher = new Browser(location, {});
|
||||
watcher.delay = 1;
|
||||
watcher.watchUrl(function(url){
|
||||
assertEquals('http://getangular.test', url);
|
||||
});
|
||||
watcher.setTimeout = function(fn, delay){
|
||||
assertEquals(1, delay);
|
||||
location.href = "http://getangular.test";
|
||||
watcher.setTimeout = function(fn, delay) {
|
||||
};
|
||||
fn();
|
||||
};
|
||||
watcher.startUrlWatcher();
|
||||
};
|
||||
|
||||
FunctionTest = TestCase("FunctionTest");
|
||||
|
||||
FunctionTest.prototype.testEscapeHtml = function () {
|
||||
assertEquals("<div>&amp;</div>", escapeHtml('<div>&</div>'));
|
||||
};
|
||||
Reference in New Issue
Block a user