UNPKG

dojo

Version:

Dojo core is a powerful, lightweight library that makes common tasks quicker and easier. Animate elements, manipulate the DOM, and query with easy CSS syntax, all without sacrificing performance.

115 lines (97 loc) 2.07 kB
define([ 'intern!object', 'intern/chai!assert', '../../../request/handlers', 'dojo/has', 'dojo/json', 'dojo/has!host-browser?dojo/domReady!' ], function (registerSuite, assert, handlers, has, JSON) { var global = this; registerSuite({ name: 'dojo/request/handlers', 'text': function () { var response = handlers({ text: 'foo bar baz ', options: {} }); assert.strictEqual(response.data, 'foo bar baz '); }, 'json': function () { var object = { foo: 'bar', baz: [ { thonk: 'blarg' }, 'xyzzy!' ] }; var response = handlers({ text: JSON.stringify(object), options: { handleAs: 'json' } }); assert.deepEqual(response.data, object); }, 'javascript': function () { var object = { foo: 'bar', baz: [ { thonk: 'blarg' }, 'xyzzy!' ] }; var response = handlers({ text: '(' + JSON.stringify(object) + ')', options: { handleAs: 'javascript' } }); assert.deepEqual(response.data, object); response = handlers({ text: 'true;', options: { handleAs: 'javascript' } }); assert.ok(response.data); response = handlers({ text: 'false;', options: { handleAs: 'javascript' } }); assert.ok(!response.data); }, 'xml': function () { if (!has('host-browser')) { return; } var response = { text: '<foo><bar baz="thonk">blarg</bar></foo>', options: { handleAs: 'xml' } }; if ('DOMParser' in global) { var parser = new DOMParser(); response.data = parser.parseFromString(response.text, 'text/xml'); } response = handlers(response); assert.strictEqual(response.data.documentElement.tagName, 'foo'); }, 'register': { 'custom handler': function () { handlers.register('custom', function () { return 'custom response'; }); var response = handlers({ text: 'foo bar baz', options: { handleAs: 'custom' } }); assert.strictEqual(response.data, 'custom response'); } } }); });