aboutsummaryrefslogtreecommitdiffstats
path: root/test/BrowserSpecs.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/BrowserSpecs.js')
-rw-r--r--test/BrowserSpecs.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/BrowserSpecs.js b/test/BrowserSpecs.js
new file mode 100644
index 00000000..3ce158b4
--- /dev/null
+++ b/test/BrowserSpecs.js
@@ -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();
+ });
+ });
+
+});