Skip to content

Commit 99b4a83

Browse files
committed
Merge pull request #18 from Jakobo/master
Update on #17, Splits tests, uses internal require
2 parents df12f8a + 2f355b3 commit 99b4a83

File tree

5 files changed

+61
-31
lines changed

5 files changed

+61
-31
lines changed

impl/requirejs/config.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ var config = require,
88
//Indicate what levels of the API are implemented by this loader,
99
//and therefore which tests to run.
1010
implemented = {
11-
// SEE: tests/basic_empty_deps
12-
// basic: true,
11+
basic: true,
1312
anon: true,
1413
funcString: true,
1514
namedWrapped: true,

server/resources/all.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ <h2>Tests <span class="or">for {{FRAMEWORK}}</span></h2>
4848
basic_simple: amd simple includes for named AMD modules
4949
</a></li>
5050
<li class="basic" id="basic_empty_deps"><a href="/{{FRAMEWORK}}/basic_empty_deps/test.html">
51-
basic_empty_defs: [] should imply no dependencies, while an empty "dependencies" variable defaults to require, exports, module
51+
basic_empty_deps: [] should imply no dependencies, while an empty "dependencies" variable defaults to require, exports, module
52+
</a></li>
53+
<li class="basic" id="basic_no_deps"><a href="/{{FRAMEWORK}}/basic_no_deps/test.html">
54+
basic_no_deps: [] should imply no dependencies, while an empty "dependencies" variable defaults to require, exports, module
5255
</a></li>
5356
</ul>
5457
</li>

tests/basic_empty_deps/_test.js

+9-28
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,14 @@
11
go(["_reporter", "require"], function(amdJS, require) {
22

3-
function emptyDeps(then) {
4-
define('emptyDeps', [], function() {
5-
amdJS.assert(arguments.length === 0, 'basic_empty_deps: [] should be treated as no dependencies instead of the default require, exports, module');
6-
then();
7-
});
8-
}
9-
10-
function noDeps(then) {
11-
define('noDeps', function(require, exports, module) {
12-
amdJS.assert(typeof(require) === 'function', 'basic_empty_deps: no dependencies case uses require in first slot. Is a function');
13-
amdJS.assert(typeof(exports) === 'object', 'basic_empty_deps: no dependencies case uses exports in second slot. Is an object.');
14-
amdJS.assert(typeof(module) === 'object', 'basic_empty_deps: no dependencies case uses module in third slot. Is an object.');
15-
then();
16-
});
17-
}
3+
// tests if there are empty dependencies, no arguments are
4+
// available in the factory's method
5+
define('emptyDeps', [], function() {
6+
amdJS.assert(arguments.length === 0, 'basic_empty_deps: [] should be treated as no dependencies instead of the default require, exports, module');
7+
});
188

19-
// this nesting structure ensures that the AMD define will resolve
20-
// before we call the next by after the tests are ran in each use
21-
// case. We use named define calls to ensure there are not module
22-
// conflicts or mismatches that can occur using anonymous modules.
23-
emptyDeps(function () {
24-
window.setTimeout(function () {
25-
noDeps(function () {
26-
window.setTimeout(function () {
27-
amdJS.print('DONE', 'done');
28-
});
29-
});
9+
window.setTimeout(function() {
10+
require(['emptyDeps'], function () {
11+
amdJS.print('DONE', 'done');
3012
});
3113
});
32-
33-
});
14+
});

tests/basic_no_deps/_reporter.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// _reporter.js
2+
(function() {
3+
var factory = function () {
4+
var exports = {};
5+
6+
exports.print = function () {
7+
// global print
8+
if (typeof amdJSPrint !== "undefined") {
9+
amdJSPrint.apply(undefined, arguments);
10+
}
11+
else {
12+
var stdout = require("system").stdout;
13+
stdout.print.apply(stdout, arguments);
14+
}
15+
};
16+
17+
exports.assert = function (guard, message) {
18+
if (guard) {
19+
exports.print("PASS " + message, "pass");
20+
} else {
21+
exports.print("FAIL " + message, "fail");
22+
}
23+
};
24+
25+
return exports;
26+
};
27+
28+
// define this module
29+
define("_reporter", [], factory);
30+
31+
})();

tests/basic_no_deps/_test.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
go(["_reporter", "require"], function(amdJS, require) {
2+
3+
// tests if there are NO dependencies, the default
4+
// values of "require, exports, module" are used
5+
define('noDeps', function(require, exports, module) {
6+
amdJS.assert(typeof(require) === 'function', 'basic_empty_deps: no dependencies case uses require in first slot. Is a function');
7+
amdJS.assert(typeof(exports) === 'object', 'basic_empty_deps: no dependencies case uses exports in second slot. Is an object.');
8+
amdJS.assert(typeof(module) === 'object', 'basic_empty_deps: no dependencies case uses module in third slot. Is an object.');
9+
});
10+
11+
window.setTimeout(function() {
12+
require(['noDeps'], function () {
13+
amdJS.print('DONE', 'done');
14+
});
15+
});
16+
});

0 commit comments

Comments
 (0)