diff options
Diffstat (limited to 'test/BrowserSpecs.js')
| -rw-r--r-- | test/BrowserSpecs.js | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/test/BrowserSpecs.js b/test/BrowserSpecs.js index e01506dc..08756904 100644 --- a/test/BrowserSpecs.js +++ b/test/BrowserSpecs.js @@ -4,6 +4,7 @@ describe('browser', function(){    function fakeSetTimeout(fn) {      setTimeoutQueue.push(fn); +    return Math.random();    }    fakeSetTimeout.flush = function() { @@ -384,6 +385,10 @@ describe('browser', function(){    });    describe('poller', function(){ +    beforeEach(function() { +      spyOn(browser, 'startPoller'); +    }); +      it('should call all fns on poll', function(){        var log = '';        browser.addPollFn(function(){log+='a';}); @@ -399,6 +404,7 @@ describe('browser', function(){        var log = '';        var setTimeoutSpy = jasmine.createSpy('setTimeout');        browser.addPollFn(function(){log+='.';}); +      browser.startPoller.andCallThrough();        browser.startPoller(50, setTimeoutSpy);        expect(log).toEqual('.');        expect(setTimeoutSpy.mostRecentCall.args[1]).toEqual(50); @@ -411,6 +417,22 @@ describe('browser', function(){        var returnedFn = browser.addPollFn(fn);        expect(returnedFn).toBe(fn);      }); + +    it('should auto start poller when first fn registered', function() { +      browser.addPollFn(function() {}); + +      expect(browser.startPoller).toHaveBeenCalled(); +      expect(browser.startPoller.callCount).toBe(1); +    }); + +    it('should auto start poller only when first fn registered', function() { +      browser.startPoller.andCallThrough(); +      browser.addPollFn(function() {}); +      browser.addPollFn(function() {}); +      browser.addPollFn(function() {}); + +      expect(browser.startPoller.callCount).toBe(1); +    });    }); @@ -424,6 +446,7 @@ describe('browser', function(){        };        browser = new Browser(fakeWindow, {}, {}); +      browser.startPoller = function() {};        var events = [];  | 
