diff -r b3ee7d1b472a -r 64c2eaafe5e2 unittests/tests/dataloader.js --- a/unittests/tests/dataloader.js Fri Jun 29 16:22:52 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -function test_dataloader() { - module("Dataloader", { setup: function() { - IriSP.jQuery = jQuery; - } - }); - - test("should initialize dataloader", function() { - var dt = new IriSP.DataLoader(); - deepEqual(dt._cache, {}, "_cache empty"); - }); - - test("should get an outside ressource", function() { - - var response_array = [{ id: 12, text: "Hey there" }]; - var response_string = JSON.stringify(response_array); - - var xhr = this.sandbox.useFakeXMLHttpRequest(); - var requests = this.requests = []; - - xhr.onCreate = function (request) { - requests.push(request); - }; - - var spy_callback = this.spy(); - var dt = new IriSP.DataLoader(); - - var resp = dt.get("/url&a=1", spy_callback); - - equals(xhr.requests.length, 1, "the mock ajax object should have received the request"); - - xhr.requests[0].respond(200, { "Content-Type": "application/json" }, - response_string); - - - ok(spy_callback.calledOnce, "callback called"); - ok(spy_callback.calledWith(response_array), "callback called with correct string"); - - deepEqual(dt._cache["/url"], response_array, "the response should be stored in the cache"); - - var resp2 = dt.get("/url&a=2", spy_callback); - ok(spy_callback.calledTwice && xhr.requests.length === 1, "callback called twice but request made only once."); - - }); - - test("should default to JSONP for foreign domains", function() { - /* we can't simulate jsonp so we just verify that the function is called */ - var stub = this.stub(IriSP.jQuery, "ajax"); - var dt = new IriSP.DataLoader(); - - var resp = dt.get("http://example.com/url&a=1", stub); - - ok(stub.calledOnce, "ajax request actually made"); - }); - -}