forked from cujojs/curl
-
Notifications
You must be signed in to change notification settings - Fork 12
/
local-require.html
79 lines (62 loc) · 1.93 KB
/
local-require.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE HTML>
<html>
<head>
<title>local require tests</title>
<script>
curl = {
baseUrl: '',
paths: {
curl: '../src/curl',
modules: 'stuff'
},
packages: [
{ name: 'pkg', location: 'support/commonjs' }
]
};
</script>
<script src="../src/curl.js" type="text/javascript"></script>
<script type="text/javascript">
curl(['curl/_privileged', 'tdd/Spy', 'tdd/configureAsserts', 'domReady!'], function (priv, Spy, configureAsserts) {
// test local require
var module1 = 'modules/three';
function runTest (moduleId, howMany, assert) {
curl([moduleId, 'require']).then(
function (one, require) {
// basics
assert.equal('function', typeof require, '`require` should be a function');
assert.equal('function', typeof require.toUrl, '`require.toUrl` should be a function');
// resolution
assert(!!require('modules/one'), 'r-value require should return a known-cached module');
assert.equal('stuff/one', require.toUrl('modules/one'), '`require.toUrl` should map ids to urls (paths)');
assert.equal('support/commonjs/main', require.toUrl('pkg'), '`require.toUrl` should map ids to urls (packages)');
// async callbacks
require(['modules/two'],
function () { assert(true, 'async require called callback'); },
function () { assert(false, 'async require called callback'); }
);
require(['modules/two-fubar'],
function () { assert(false, 'async require called errback'); },
function () { assert(true, 'async require called errback'); }
);
},
function (ex) {
failure('on ' + moduleId + ' exception:' + ex);
}
);
}
runTest(module1, 1, configureAsserts(success, failure));
});
function success (msg) {
write('SUCCESS: ' + msg);
}
function failure (msg) {
write('FAILED: ' + msg);
}
function write (msg) {
document.body.appendChild(document.createElement('div')).innerHTML = msg;
}
</script>
</head>
<body>
</body>
</html>