sample skeleton application with dojo toolkit & arcgis js api v 4.30
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
2.6 KiB

define([
'require',
'intern!object',
'intern/chai!assert'
], function (require, registerSuite, assert) {
registerSuite(function () {
return{
name: 'dojo/io/script',
'beforeEach': function () {
return this.get('remote')
.setExecuteAsyncTimeout(5000)
.get(require.toUrl('../support/standard.html'));
},
'.get': {
'basic usage': function () {
return this.get('remote')
.executeAsync(function (done) {
require(['dojo/io/script'], function (script) {
var varname = 'basic_usage';
var dfd = script.get({
url: '/__services/request/script?scriptVar=' + varname
});
dfd.then(function () {
done(window[varname]);
});
});
})
.then(function (result) {
assert.equal(result, 'loaded');
});
},
'checkString looks for a variable to be defined': function () {
return this.get('remote')
.executeAsync(function (done) {
require(['dojo/io/script'], function (script) {
var varname = 'myTasks';
var dfd = script.get({
url: '/__services/request/script?scriptVar=' + varname,
checkString: varname
});
dfd.then(function () {
if (window.hasOwnProperty(varname))
done(window[varname]);
else
done();
});
});
})
.then(function (result) {
assert.equal(result, 'loaded');
});
},
'jsonp': function () {
return this.get('remote')
.executeAsync(function (done) {
require(['dojo/io/script'], function (script) {
var varname = 'jsonp';
var dfd = script.get({
url: '/__services/request/script?scriptVar=' + varname,
content: { foo: 'bar' },
jsonp: 'callback'
});
dfd.then(function (res) {
done(res);
});
});
})
.then(function (result) {
assert.equal(result.animalType, 'mammal');
});
},
'jsonp timeout': function () {
return this.get('remote')
.executeAsync(function (done) {
require(['dojo/io/script'], function (script) {
script.get({
url: '/__services/request/script?scriptVar=potato',
callbackParamName: 'callback',
content: { delay: 750 },
timeout: 250,
handleAs: 'json',
preventCache: true,
handle: function (error, result) {
done(error instanceof Error);
}
});
});
})
.then(function (result) {
assert.isTrue(result);
});
}
}
};
});
});