����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 216.73.216.192 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/proc/thread-self/root/var/www/html/admin/assets/plugins/jquery-mockjax/test/ |
Upload File : |
var mockjaxDefaults = $.extend({}, $.mockjaxSettings); function noErrorCallbackExpected() { ok( false, 'Error callback executed'); } // Speed up our tests $.mockjaxSettings.responseTime = 0; module('Core'); test('Return XMLHttpRequest object from $.ajax', function() { $.mockjax({ url: '/xmlhttprequest', responseText: "Hello Word" }); var xhr = $.ajax({ url: '/xmlhttprequest', complete: function() { } }); xhr && xhr.abort && xhr.abort(); ok(xhr, "XHR object is not null or undefined"); if (jQuery.Deferred) { ok(xhr.done && xhr.fail, "Got Promise methods"); } $.mockjaxClear(); }); asyncTest('Intercept and proxy (sub-ajax request)', function() { $.mockjax({ url: '/proxy', proxy: 'test_proxy.json' }); $.ajax({ url: '/proxy', dataType: 'json', success: function(json) { ok(json && json.proxy, 'Proxy request succeeded'); }, error: noErrorCallbackExpected, complete: function() { start(); } }); $.mockjaxClear(); }); asyncTest('Proxy type specification', function() { $.mockjax({ url: '/proxy', proxy: 'test_proxy.json', proxyType: 'GET' }); $.ajax({ url: '/proxy', error: noErrorCallbackExpected, dataType: 'json', success: function(json) { ok(json && json.proxy, 'Proxy request succeeded'); }, complete: function() { start(); } }); $.mockjaxClear(); }); asyncTest('Support 1.5 $.ajax(url, settings) signature.', function() { $.mockjax({ url: '/resource', responseText: 'Hello Word' }); $.ajax('/resource', { success: function(response) { equal(response, 'Hello Word'); }, error: noErrorCallbackExpected, complete: function() { start(); } }); $.mockjaxClear(); }); asyncTest('Dynamic response callback', function() { $.mockjax({ url: '/response-callback', response: function(settings) { this.responseText = settings.data.response + ' 2'; } }); $.ajax({ url: '/response-callback', dataType: 'text', data: { response: 'Hello world' }, error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.responseText, 'Hello world 2', 'Response Text matches'); start(); } }); $.mockjaxClear(); }); asyncTest('Dynamic response status callback', function() { $.mockjax({ url: '/response-callback', response: function(settings) { this.status = 500; this.statusText = "Internal Server Error" } }); $.ajax({ url: '/response-callback', dataType: 'text', data: { response: 'Hello world' }, error: function(){ ok(true, "error callback was called"); }, complete: function(xhr) { equals(xhr.status, 500, 'Dynamically set response status matches'); if( $.fn.jquery !== '1.5.2') { // This assertion fails in 1.5.2 due to this bug: http://bugs.jquery.com/ticket/9854 // The statusText is being modified internally by jQuery in 1.5.2 equals(xhr.statusText, "Internal Server Error", 'Dynamically set response statusText matches'); } start(); } }); $.mockjaxClear(); }); asyncTest('Default Response Settings', function() { $.mockjax({ url: '/response-callback' }); $.ajax({ url: '/response-callback', dataType: 'text', data: { response: '' }, complete: function(xhr) { equals(xhr.status, 200, 'Response status matches default'); if( $.fn.jquery !== '1.5.2') { // This assertion fails in 1.5.2 due to this bug: http://bugs.jquery.com/ticket/9854 // The statusText is being modified internally by jQuery in 1.5.2 equals(xhr.statusText, "OK", 'Response statusText matches default'); } equals(xhr.responseText.length, 0, 'responseText length should be 0'); equals(xhr.responseXml === undefined, true, 'responseXml should be undefined'); start(); } }); $.mockjaxClear(); }); test('Remove mockjax definition by id', function() { var id = $.mockjax({ url: '/test', contentType: 'text/plain', responseText: 'test' }); $.mockjax({ url: '*', contentType: 'text/plain', responseText: 'default' }); stop(); $.ajax({ url: '/test', success: function(text) { equals(text, 'test', 'Test handler responded'); }, error: noErrorCallbackExpected, complete: function() { $.mockjaxClear(id); // Reissue the request expecting the default handler $.ajax({ url: '/test', success: function(text) { equals(text, 'default', 'Default handler responded'); }, error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.responseText, 'default', 'Default handler responded'); $.mockjaxClear(); start(); } }); } }); }); // asyncTest('Intercept log messages', function() { // var msg = null; // $.mockjaxSettings.log = function(inMsg, settings) { // msg = inMsg; // }; // $.mockjax({ // url: '*' // }); // $.ajax({ // url: '/console', // type: 'GET', // complete: function() { // equals(msg, 'MOCK GET: /console', 'Mock request logged to console'); // $.mockjaxClear(); // start(); // } // }); // }); asyncTest('Disable console logging', function() { var msg = null; $.mockjaxSettings.console = false; $.mockjax({ url: '*' }); $.ajax({ url: '/console', complete: function() { equals(msg, null, 'Mock request not logged'); $.mockjaxClear(); start(); } }); }); asyncTest('Get mocked ajax calls', function() { $.mockjaxClear(); $.mockjax({ url: '/api/example/*' }); equals($.mockjax.mockedAjaxCalls().length, 0, 'Initially there are no saved ajax calls') // GET $.ajax({ async: false, type: 'GET', url: '/api/example/1', complete: function() { var actualCalls = $.mockjax.mockedAjaxCalls(); equals(actualCalls.length, 1, 'One mocked ajax call is saved'); equals(actualCalls[0].type, 'GET', 'Saved ajax call has expected method'); equals(actualCalls[0].url, '/api/example/1', 'Saved ajax call has expected url'); start(); } }); // POST with some data $.ajax({ async: false, type: 'POST', url: '/api/example/2', data: {a: 1}, complete: function() { var actualCalls = $.mockjax.mockedAjaxCalls(); equals(actualCalls.length, 2, 'Two mocked ajax calls are saved'); equals(actualCalls[1].type, 'POST', 'Second ajax call has expected method'); equals(actualCalls[1].url, '/api/example/2', 'Second ajax call has expected url'); deepEqual(actualCalls[1].data, {a: 1}, 'Second ajax call has expected data'); start(); } }); // JSONP $.ajax({ async: false, url: '/api/example/jsonp?callback=?', jsonpCallback: 'foo123', dataType: 'jsonp', complete: function() { var actualCalls = $.mockjax.mockedAjaxCalls(); equals(actualCalls.length, 3, 'Three mocked ajax calls are saved'); equals(actualCalls[2].url, '/api/example/jsonp?callback=foo123', 'Third ajax call has expected jsonp url'); start(); } }); equals($.mockjax.mockedAjaxCalls().length, 3, 'Afterwords there should be three saved ajax calls') var mockedUrls = $.map($.mockjax.mockedAjaxCalls(), function(ajaxOptions) { return ajaxOptions.url }) deepEqual(mockedUrls, ['/api/example/1', '/api/example/2', '/api/example/jsonp?callback=foo123'], 'Mocked ajax calls are saved in execution order') $.mockjaxClear(); equals($.mockjax.mockedAjaxCalls().length, 0, 'After clearing there are no saved ajax calls') }); // These tests is only relevant in 1.5.2 and higher if( jQuery.Deferred ) { asyncTest('Preserve context when set in jsonp ajax requet', function(){ $.mockjax({ url: '/jsonp*', contentType: 'text/json', proxy: 'test_jsonp.js' }); window.abcdef123456 = function(json) {}; var cxt = {context: 'context'}; $.ajax({ url: '/jsonp?callback=?', jsonpCallback: 'abcdef123456', dataType: 'jsonp', error: noErrorCallbackExpected, context: cxt}) .done(function(){ deepEqual(this, cxt, 'this is equal to context object'); start(); }); $.mockjaxClear(); }); asyncTest('Validate this is the $.ajax object if context is not set', function(){ $.mockjax({ url: '/jsonp*', contentType: 'text/json', proxy: 'test_jsonp.js' }); window.abcdef123456 = function(json) {}; var ret = $.ajax({ url: '/jsonp?callback=?', jsonpCallback: 'abcdef123456', dataType: 'jsonp', error: noErrorCallbackExpected }) .done(function(){ ok(this.jsonp, '\'this\' is the $.ajax object for this request.'); start(); }); var settings = $.ajaxSettings; $.mockjaxClear(); }); } module('Request Property Inspection'); test('Inspecting $.mockjax.handler(id) after request has fired', function() { var ID = $.mockjax({ url: '/mockjax_properties', responseText: "Hello Word" }); var xhr = $.ajax({ url: '/mockjax_properties', complete: function() {} }); ok($.mockjax.handler(ID).fired, "Sets the mock's fired property to true"); $.mockjaxClear(); }); module('Type Matching'); asyncTest('Case-insensitive matching for request types', function() { $.mockjax({ url: '/case_insensitive_match', type: 'GET', responseText: 'uppercase type response' }); $.ajax({ url: '/case_insensitive_match', type: 'get', error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.responseText, 'uppercase type response', 'Request matched regardless of case'); start(); } }); $.mockjaxClear(); }); module('URL Matching'); asyncTest('Exact string', function() { $.mockjax({ url: '/exact/string', responseText: 'exact string' }); $.mockjax({ url: '*', responseText: 'catch all' }); $.ajax({ url: '/exact/string', error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.responseText, 'exact string', 'Exact string url match'); start(); } }); $.mockjaxClear(); }); test('Wildcard match', 5, function() { function mock(mockUrl, url, response) { $.mockjax({ url: mockUrl, responseText: response }); $.ajax({ async: false, url: url, error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.responseText, response); } }); } mock('/wildcard*w', '/wildcard/123456/w', 'w'); mock('/wildcard*x', '/wildcard/123456/x', 'x'); mock('*y', '/wildcard/123456/y', 'y'); mock('z*', 'z/wildcard/123456', 'z'); mock('/wildcard*aa/second/*/nice', '/wildcard/123456/aa/second/9991231/nice', 'aa'); $.mockjaxClear(); }); asyncTest('RegEx match', 1, function() { $.mockjax({ url: /^\/regex-([0-9]+)/i, responseText: 'regex match' }); $.mockjax({ url: '*', responseText: 'catch all' }); $.ajax({ url: '/regex-123456', error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.responseText, 'regex match', 'RegEx match'); start(); } }); $.mockjaxClear(); }); module('Request Data Matching'); asyncTest('Incorrect data matching on request', 1, function() { $.mockjax({ url: '/response-callback', data: { foo: 'bar' } }); $.ajax({ url: '/response-callback', error: function() { ok(true, "Error called on bad mock/data matching"); }, data: { bar: 'baz' }, success: function(json) { ok( false, "Success should not be called" ); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); asyncTest('Correct data matching on request', 1, function() { $.mockjax({ url: '/response-callback', contentType: 'text/json', data: { foo: 'bar' }, responseText: {} }); $.ajax({ url: '/response-callback', error: noErrorCallbackExpected, data: { foo: 'bar' }, success: function(json) { ok( true, "Successfully matched data" ); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); // Related issue #80 asyncTest('Correct data matching on request with empty object literals', 1, function() { $.mockjax({ url: '/response-callback', contentType: 'text/json', data: {}, responseText: {} }); $.ajax({ url: '/response-callback', error: noErrorCallbackExpected, data: {}, success: function(json) { ok( true, "Successfully matched data" ); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); // Related issue #68 asyncTest('Correct data matching on request with arrays', 1, function() { $.mockjax({ url: '/response-callback', contentType: 'text/json', data: { values: [] } }); $.ajax({ url: '/response-callback', error: function() { ok( true, "Error callback fired" ); }, data: { values: [1,2,3] }, success: function(json) { ok( false, "Success callback fired" ); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); asyncTest('Multiple data matching requests', function() { $.mockjax({ url: '/response-callback', contentType: 'text/json', data: { remote: { test: function(data) { return data !== "hello"; } } }, responseText: { "yes?": "no" } }); $.mockjax({ url: '/response-callback', contentType: 'text/json', data: { remote: { test: function(data) { return data == "hello"; } } }, responseText: { "yes?": "yes" } }); $.ajax({ url: '/response-callback', error: function(resp) { ok(true, "Expected error"); }, dataType: 'json', data: { remote: "h" }, success: function(resp) { deepEqual( resp, {"yes?": "no"}, "correct mock hander" ); }, complete: function(xhr) { start(); } }); stop(); $.ajax({ url: '/response-callback', error: function(resp) { noErrorCallbackExpected(); }, data: { remote: "hello" }, dataType: 'json', success: function(resp) { deepEqual( resp, {"yes?": "yes"}, "correct mock hander" ); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); // Test to prove issue #106 asyncTest('Null matching on request', 1, function() { $.mockjax({ url: '/response-callback', contentType: 'text/json', data: { foo: 'bar', bar: null }, responseText: {} }); $.ajax({ url: '/response-callback', error: noErrorCallbackExpected, data: { foo: 'bar', bar: null }, success: function(json) { ok( true, "Successfully matched data that contained null values" ); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); // Test Data Types [Text, HTML, JSON, JSONP, Script and XML] module('Data Types'); // Text asyncTest('Response returns text', function() { $.mockjax({ url: '/text', contentType: 'text/plain', responseText: 'just text' }); $.ajax({ url: '/text', dataType: 'text', error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.getResponseHeader('Content-Type'), 'text/plain', 'Content type of text/plain'); start(); } }); $.mockjaxClear(); }); asyncTest('Response returns html', function() { $.mockjax({ url: '/html', contentType: 'text/html', responseText: '<div>String</div>' }); $.ajax({ url: '/html', dataType: 'html', success: function(data) { equals(data, '<div>String</div>', 'HTML String matches'); }, error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.getResponseHeader('Content-Type'), 'text/html', 'Content type of text/html'); start(); } }); $.mockjaxClear(); }); asyncTest('Response returns json', function() { $.mockjax({ url: '/json', contentType: 'text/json', responseText: { "foo" : "bar", "baz" : { "car" : "far" } } }); $.ajax({ url: '/json', dataType: 'json', success: function(json) { deepEqual(json, { "foo" : "bar", "baz" : { "car" : "far" } }, 'JSON Object matches'); }, error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.getResponseHeader('Content-Type'), 'text/json', 'Content type of text/json'); start(); } }); $.mockjaxClear(); }); asyncTest('Response returns jsonp', 3, function() { $.mockjax({ url: '/jsonp*', contentType: 'text/json', proxy: 'test_jsonp.js' }); window.abcdef123456 = function(json) { ok( true, 'JSONP Callback executed'); deepEqual(json, { "data" : "JSONP is cool" }); }; var ret = $.ajax({ url: '/jsonp?callback=?', jsonpCallback: 'abcdef123456', dataType: 'jsonp', error: noErrorCallbackExpected, complete: function(xhr) { equals(xhr.getResponseHeader('Content-Type'), 'text/json', 'Content type of text/json'); start(); } }); $.mockjaxClear(); }); asyncTest('Response returns jsonp and return value from ajax is a promise if supported', function() { window.rquery = /\?/; $.mockjax({ url:"http://api*", responseText:{ success:true, ids:[21327211] }, dataType:"jsonp", contentType: 'text/json' }); var promiseObject = $.ajax({ url:"http://api.twitter.com/1/followers/ids.json?screen_name=test_twitter_user", dataType:"jsonp" }); if (jQuery.Deferred) { ok(promiseObject.done && promiseObject.fail, "Got Promise methods"); promiseObject.then(function(){ ok(true, "promise object then is executed"); }); } else { ok(true, "No deferred support, passing as succesful"); } start(); }); asyncTest('Response executes script', function() { $.mockjax({ url: '/script', contentType: 'text/plain', proxy: 'test_script.js' }); window.TEST_SCRIPT_VAR = 0; $.ajax({ url: '/script', dataType: 'script', error: noErrorCallbackExpected, complete: function(xhr) { equals(window.TEST_SCRIPT_VAR, 1, 'Script executed'); equals(xhr.getResponseHeader('Content-Type'), 'text/plain', 'Content type of text/plain'); start(); } }); $.mockjaxClear(); }); asyncTest('Grouping deferred responses, if supported', function() { window.rquery = /\?/; $.mockjax({ url:"http://api*", responseText:{ success:true, ids:[21327211] }, dataType:"jsonp", contentType: 'text/json' }); var req1 = $.ajax({ url:"http://api.twitter.com/1/followers/ids.json?screen_name=test_twitter_user", dataType:"jsonp" }); var req2 = $.ajax({ url:"http://api.twitter.com/1/followers/ids.json?screen_name=test_twitter_user", dataType:"jsonp" }); var req3 = $.ajax({ url:"http://api.twitter.com/1/followers/ids.json?screen_name=test_twitter_user", dataType:"jsonp" }); if (jQuery.Deferred) { $.when(req1, req2, req3).done(function(a, b, c) { ok(true, "Successfully grouped deferred responses"); }); } else { ok(true, "No deferred support, passing as succesful"); } start(); }); asyncTest('Response returns parsed XML', function() { $.mockjax({ url: '/xml', contentType: 'text/xml', responseXML: '<document>String</document>' }); $.ajax({ url: '/xml', dataType: 'xml', success: function(xmlDom) { ok( jQuery.isXMLDoc( xmlDom ), 'Data returned is an XML DOM'); }, error: noErrorCallbackExpected, complete: function(xhr, error) { ok(true, 'Error: ' + error); equals(xhr.getResponseHeader('Content-Type'), 'text/xml', 'Content type of text/xml'); start(); } }); $.mockjaxClear(); }); module('Connection Simulation', { setup: function() { $.mockjax({ url: '/delay', responseTime: 150 }); $.mockjax({ url: '*', responseText: '', responseTime: 50 }); }, teardown: function() { $.mockjaxClear(); } }); asyncTest('Async test', function() { var order = []; $.ajax({ async: true, url: '/', success: function() { order.push('b'); }, error: noErrorCallbackExpected, complete: function() { deepEqual(order, ['a', 'b'], 'Order of execution correct, 2'); start(); } }); order.push('a'); deepEqual(order, ['a'], 'Order of execution correct, 1'); }); test('Sync test', function() { var order = []; $.ajax({ async: false, url: '/', success: function() { order.push('b'); deepEqual(order, ['b'], 'Order of execution correct, 1'); }, error: noErrorCallbackExpected }); order.push('a'); deepEqual(order, ['b', 'a'], 'Order of execution correct, 2'); }); asyncTest('Response time simulation and latency', function() { var executed = 0, ts = new Date(); $.ajax({ url: '/delay', complete: function() { var delay = ((new Date()) - ts); ok( delay >= 150, 'Correct delay simulation (' + delay + ')' ); equals( executed, 1, 'Callback execution order correct'); start(); } }); setTimeout(function() { ok( executed == 0, 'No premature callback execution'); executed++; }, 30); }); module('Headers'); asyncTest('headers can be inspected via setRequestHeader()', function() { var mock; $(document).ajaxSend(function(event, xhr, ajaxSettings) { xhr.setRequestHeader('X-CSRFToken', '<this is a token>'); }); mock = $.mockjax({ url: '/inspect-headers', response: function(settings) { var key; if (typeof this.headers['X-Csrftoken'] !== 'undefined') { key = 'X-Csrftoken'; // bugs in jquery 1.5 } else { key = 'X-CSRFToken'; } equals(this.headers[key], '<this is a token>'); $.mockjaxClear(mock); start(); } }); $.ajax({ url: '/inspect-headers', complete: function() {} }); }); // SIMULATING HTTP RESPONSE STATUSES asyncTest('Response status callback', function() { $.mockjax({ url: '/response-callback', status: 403 }); $.ajax({ url: '/response-callback', error: function(){ ok(true, "error callback was called"); }, complete: function(xhr) { equals(xhr.status, 403, 'response status matches'); start(); } }); $.mockjaxClear(); }); // SETTING THE CONTENT-TYPE asyncTest('Setting the content-type', function() { $.mockjax({ url: '/response-callback', contentType: 'text/json', responseText: { foo: 'bar' } }); $.ajax({ url: '/response-callback', dataType: 'json', error: function(){ ok(false, "error callback was called"); }, success: function(json) { deepEqual(json, { "foo" : "bar" }, 'JSON Object matches'); }, complete: function(xhr) { equals(xhr.getResponseHeader('Content-Type'), 'text/json', 'Content type of json'); start(); } }); $.mockjaxClear(); }); // SETTING ADDITIONAL HTTP RESPONSE HEADERS asyncTest('Setting additional HTTP response headers', function() { $.mockjax({ url: '/response-callback', headers: { 'X-Must-Exist': 'yes' }, responseText: 'done' }); $.ajax({ url: '/response-callback', error: function(){ ok(false, "error callback was called"); }, success: function(response) { equals( response, "done", "Response text matches" ); }, complete: function(xhr) { equals( xhr.getResponseHeader( "X-Must-Exist" ), "yes", "Header matches" ); start(); } }); $.mockjaxClear(); }); // FORCE SIMULATION OF SERVER TIMEOUTS asyncTest('Forcing timeout', function() { $.mockjax({ url: '/response-callback', responseText: 'done', isTimeout: true }); $.ajax({ url: '/response-callback', error: function(xhr) { ok(true, "error callback was called"); }, success: function(response) { ok(false, "should not be be successful"); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); // FORCE SIMULATION OF SERVER TIMEOUTS WITH PROMISES if(jQuery.Deferred) { asyncTest('Forcing timeout with Promises', function() { $.mockjax({ url: '/response-callback', isTimeout: true, }); var request = $.ajax({ url: '/response-callback' }); request.done(function(xhr) { ok(false, "Should not be successful"); }); request.fail(function(response) { ok(true, "error callback was called"); }); request.complete(function(xhr) { start(); }); $.mockjaxClear(); }); } // DYNAMICALLY GENERATING MOCK DEFINITIONS asyncTest('Dynamic mock definition', function() { $.mockjax( function( settings ) { var service = settings.url.match(/\/users\/(.*)$/); if ( service ) { return { proxy: 'test_proxy.json' } } }); $.ajax({ url: '/users/test', dataType: 'json', error: noErrorCallbackExpected, success: function(json) { ok(json && json.proxy, 'Proxy request succeeded'); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); // DYNAMICALLY GENERATING MOCK RESPONSES asyncTest('Dynamic mock response generation', function() { $.mockjax({ url: '/response-callback', response: function( settings ) { this.responseText = { currentTime: 'now: ' + new Date() }; } }); $.ajax({ url: '/response-callback', dataType: 'json', error: noErrorCallbackExpected, success: function(json) { equals( typeof json.currentTime, 'string', 'Dynamic response succeeded'); }, complete: function(xhr) { start(); } }); $.mockjaxClear(); }); module( 'BugFixes' ); asyncTest( 'Test bug fix for $.mockjaxSettings', function() { $.mockjaxSettings.headers = { "content-type": "text/plain", etag: "IJF@H#@923uf8023hFO@I#H#" }; $.mockjax({ url: '/get/property', type: 'GET', response: function(settings) { this.responseText = { foo: "bar" }; } }); $.ajax({ url: '/get/property', success: function(data) { deepEqual( $.mockjaxSettings.headers, { "content-type": "text/plain", etag: "IJF@H#@923uf8023hFO@I#H#" }, "Should not change the default headers."); }, complete: function() { start(); } }); $.mockjaxClear(); }); asyncTest("Preserve responseText inside a response function when using jsonp and a success callback", function(){ $.mockjax({ url: "http://some/fake/jsonp/endpoint", // The following line works... // responseText: [{ "data" : "JSONP is cool" }] // But doesn't not work when setting this.responseText in response response: function() { this.responseText = [{ "data" : "JSONP is cool" }]; } }); $.ajax({ url: "http://some/fake/jsonp/endpoint", dataType: "jsonp", success: function(data) { deepEqual(data, [{ "data" : "JSONP is cool" }]); start(); } }); $.mockjaxClear(); }); /* var id = $.mockjax({ ... }); $.mockjaxClear(id); */ /* (function($) { $(function() { $.ajax({ url: 'test.json', success: function(data) { $('ul').append('<li>test.json: completed (' + data.test + ')</li>'); } }); $.mockjax({ url: 'test.json', contentType: 'text/json', responseText: { "test": "mock message" } }); $.ajax({ url: 'test.json', dataType: 'json', success: function(data) { $('ul').append('<li>test.json: completed (' + data.test + ')</li>'); }, error: function(xhr, status, error) { alert('error: ' + status + ' ' + error); }, complete: function() { } }); $.mockjax({ url: 'http://google.com', responseText: 'alert("Hello world");' }); $.mockjax({ url: 'http://another-cross-domain.com', responseText: function() { alert("Get script mock"); } }); $.ajax({ url: 'http://google.com', dataType: 'script', success: function(data) { $('ul').append('<li>script: completed (' + data.test + ')</li>'); }, error: function(xhr, status, error) { alert('error: ' + status + ' ' + error); }, complete: function() { } }); }); })(jQuery); */