diff options
Diffstat (limited to 'test/angular-mocks.js')
| -rw-r--r-- | test/angular-mocks.js | 34 | 
1 files changed, 29 insertions, 5 deletions
| diff --git a/test/angular-mocks.js b/test/angular-mocks.js index ab3638b1..9c93f87f 100644 --- a/test/angular-mocks.js +++ b/test/angular-mocks.js @@ -1,12 +1,36 @@  function MockBrowser() { -  this.url = "http://server"; -  this.watches = []; +  var self = this, expectations = {}, requests = []; +  self.url = "http://server"; +  self.watches = []; + +  self.xhr = function(method, url, callback) { +    var expect = expectations[method] || {}; +    var response = expect[url]; +    if (!response) { +      throw "Unexepected request for mothod '" + method + "' and url '" + url + "'."; +    } +    requests.push(function(){ +      callback(200, response); +    }); +  }; +  self.xhr.expectations = expectations; +  self.xhr.requests = requests; +  self.xhr.expect = function(method, url) { +    var expect = expectations[method] || (expectations[method] = {}); +    return { +      respond: function(response) { +        expect[url] = response; +      } +    }; +  }; +  self.xhr.flush = function() { +    while(requests.length) { +      requests.pop()(); +    } +  };  }  MockBrowser.prototype = { -  xhr: function(method, url, callback) { - -  },    getUrl: function(){      return this.url; | 
