diff options
Diffstat (limited to 'test/BrowserSpecs.js')
| -rw-r--r-- | test/BrowserSpecs.js | 48 |
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(); + }); + }); + +}); |
