lib/assets/javascripts/fake_ajax_server.js.coffee in fake-ajax-server-0.0.1 vs lib/assets/javascripts/fake_ajax_server.js.coffee in fake-ajax-server-0.0.2

- old
+ new

@@ -1,21 +1,26 @@ # =require jquery # =require sinon @FakeAjaxServer = class FakeAjaxServer - constructor: (@fakeServerResponse, @imediateServe = false)-> + constructor: (@fakeServerResponse, @options = {})-> start: -> @ajaxCallbacksQueue = [] - @ajaxStub = sinon.stub $, 'ajax', @fakeAjax - stop: -> $.ajax.restore() + @ajaxStub = sinon.stub jQuery, 'ajax', @fakeAjax + stop: -> jQuery.ajax.restore() fakeAjax: => - responseStub = sinon.stub(new jQuery.Deferred) + responseStub = @createFakeJqXHR() @ajaxCallbacksQueue.push [arguments, responseStub] - @processAllRequests() if @imediateServe + @processAllRequests() if @options.imediateServe responseStub processNextRequest: -> @fakeServerResponse.apply this, @ajaxCallbacksQueue.shift()[0] processAllRequests: -> @processNextRequest() while @ajaxCallbacksQueue.length ignoreNextRequest: -> @ajaxCallbacksQueue.shift() ignoreAllRequests: -> @ajaxCallbacksQueue = [] ajaxResponse: (index = 0)-> @ajaxCallbacksQueue[index][1] ajaxSettings: (index = 0)-> @ajaxCallbacksQueue[index][0][0] + createFakeJqXHR: -> + xhr = jQuery.Deferred() + (xhr[m] = (->) for m in ['error', 'success', 'complete']) if @options.legacySupport + sinon.stub xhr, m, (-> xhr) for m, f of xhr when typeof f is 'function' + xhr