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.
90 lines
2.0 KiB
90 lines
2.0 KiB
var assert = require('assert'); |
|
var load = require('../') |
|
|
|
var last_msg = undefined; |
|
log = function(msg) { |
|
last_msg = msg; |
|
} |
|
|
|
test('success', function(done) { |
|
load('test/hello.js', function (err) { |
|
assert.ifError(err); |
|
assert.equal(last_msg, 'Hello world'); |
|
last_msg = undefined; |
|
done(); |
|
}) |
|
}); |
|
|
|
test('opts.async', function(done) { |
|
load('test/hello.js', {async: false}, function(err, script) { |
|
assert.ifError(err); |
|
assert.equal(script.async, false); |
|
done(); |
|
}) |
|
}); |
|
|
|
test('opts.attrs', function(done) { |
|
load('test/hello.js', {attrs: {foo: 'boo'}}, function(err, script) { |
|
assert.ifError(err); |
|
assert.equal(script.getAttribute('foo'), 'boo'); |
|
done(); |
|
}) |
|
}); |
|
|
|
test('opts.charset', function(done) { |
|
load('test/hello.js', {charset: 'iso-8859-1'}, function(err, script) { |
|
assert.ifError(err); |
|
assert.equal(script.charset, 'iso-8859-1'); |
|
done(); |
|
}) |
|
}); |
|
|
|
test('opts.text', function(done) { |
|
load('test/hello.js', {text: 'foo=5;'}, function(err, script) { |
|
assert.ifError(err); |
|
done(); |
|
}) |
|
}); |
|
|
|
test('opts.type', function(done) { |
|
load('test/hello.js', {type: 'text/ecmascript'}, function(err, script) { |
|
assert.ifError(err); |
|
assert.equal(script.type, 'text/ecmascript'); |
|
done(); |
|
}) |
|
}); |
|
|
|
test('no exist', function(done) { |
|
load('unexistent.js', function (err, legacy) { |
|
if (!legacy) { |
|
assert.ok(err); |
|
} |
|
|
|
var tid = setTimeout(function() { |
|
done(); |
|
}, 200); |
|
|
|
// some browsers will also throw as well as report erro |
|
var old = window.onerror; |
|
window.onerror = function(msg, file, line) { |
|
if (msg !== 'Error loading script') { |
|
assert(false); |
|
} |
|
window.onerror = old; |
|
clearTimeout(tid); |
|
done(); |
|
}; |
|
}) |
|
}); |
|
|
|
test('throw', function(done) { |
|
var old = window.onerror; |
|
// silence the script error |
|
window.onerror = function() {}; |
|
load('test/throw.js', function (err) { |
|
assert.ifError(err); |
|
window.onerror = old; |
|
done(); |
|
}) |
|
}); |
|
|
|
|