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.

104 lines (100 loc) 2.6 kB
define([ 'intern!object', 'intern/chai!assert', '../../../request/util', '../../../has', '../../../request/xhr' ], function(registerSuite, assert, util, has){ registerSuite({ name: 'dojo/request/util', 'deepCopy': function(){ var object1 = { apple: 0, banana: { weight: 52, price: 100, code: "B12345", purchased: new Date(2016, 0, 1) }, cherry: 97 }; var object2 = { banana: { price: 200, code: "B98765", purchased: new Date(2017, 0, 1) }, durian: 100 }; util.deepCopy(object1, object2); assert.strictEqual(object1.banana.weight, 52); assert.strictEqual(object1.banana.price, 200); assert.strictEqual(object1.banana.code, "B98765"); assert.equal(object1.banana.purchased.getTime(), new Date(2017, 0, 1).getTime()); }, 'deepCopy with FormData': function(){ if (has('native-formdata')) { var formData = new FormData(); var object1 = { apple: 0, banana: { weight: 52, price: 100, code: "B12345", purchased: new Date(2016, 0, 1) }, cherry: 97 }; var object2 = { banana: { price: 200, code: "B98765", purchased: new Date(2017, 0, 1) }, formData: formData, durian: 100 }; util.deepCopy(object1, object2); assert.strictEqual(object1.banana.weight, 52); assert.strictEqual(object1.banana.price, 200); assert.strictEqual(object1.banana.code, "B98765"); assert.strictEqual(object1.formData, formData); assert.equal(object1.banana.purchased.getTime(), new Date(2017, 0, 1).getTime()); } else { this.skip('Do not run test if FormData not available.'); } }, 'deepCopy with Blob': function(){ if (has('native-blob')) { var blob = new Blob([JSON.stringify({test: "data"})], {type: 'application/json'}); var object1 = { apple: 0, banana: { weight: 52, price: 100, code: "B12345", purchased: new Date(2016, 0, 1) }, cherry: 97 }; var object2 = { banana: { price: 200, code: "B98765", purchased: new Date(2017, 0, 1) }, blob: blob, durian: 100 }; util.deepCopy(object1, object2); assert.strictEqual(object1.banana.weight, 52); assert.strictEqual(object1.banana.price, 200); assert.strictEqual(object1.banana.code, "B98765"); assert.strictEqual(object1.blob, blob); assert.equal(object1.banana.purchased.getTime(), new Date(2017, 0, 1).getTime()); } else { this.skip('Do not run test if Blob not available.'); } } }); });