Skip to content
This repository was archived by the owner on Jul 13, 2020. It is now read-only.

Commit 57fd2e3

Browse files
committed
resolution error message adjustment
1 parent 0380fbf commit 57fd2e3

File tree

3 files changed

+34
-32
lines changed

3 files changed

+34
-32
lines changed

core/register-loader.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function resolve (loader, key, parentKey, metadata, parentMetadata) {
7575
})
7676
.then(ensureResolution)
7777
.catch(function (err) {
78-
throw addToError(err, 'Resolving dependency "' + key + '" of ' + parentKey);
78+
throw addToError(err, 'Resolving dependency "' + key + '" to ' + parentKey);
7979
});
8080
}
8181

test/3-register-loader.js

+32-27
Original file line numberDiff line numberDiff line change
@@ -13,30 +13,30 @@ describe('System Register Loader', function() {
1313
assert(loader instanceof SystemRegisterLoader);
1414
});
1515

16-
it('Should import a module', async function() {
16+
it('Should import a module', async function () {
1717
var m = await loader.import('./register-modules/no-imports.js');
1818
assert(m);
1919
assert.equal(m.asdf, 'asdf');
2020
});
2121

22-
it('Should import a module cached', async function() {
22+
it('Should import a module cached', async function () {
2323
var m1 = await loader.import('./register-modules/no-imports.js');
2424
var m2 = await loader.import('./register-modules/no-imports.js');
2525
assert.equal(m1.asdf, 'asdf');
2626
assert.equal(m1, m2);
2727
});
2828

29-
it('should import an es module with its dependencies', async function() {
29+
it('should import an es module with its dependencies', async function () {
3030
var m = await loader.import('./register-modules/es6-withdep.js');
3131
assert.equal(m.p, 'p');
3232
});
3333

34-
it('should import without bindings', async function() {
34+
it('should import without bindings', async function () {
3535
var m = await loader.import('./register-modules/direct.js');
3636
assert(!!m);
3737
});
3838

39-
it('should support various es syntax', async function() {
39+
it('should support various es syntax', async function () {
4040
var m = await loader.import('./register-modules/es6-file.js');
4141

4242
assert.equal(typeof m.q, 'function');
@@ -54,7 +54,7 @@ describe('System Register Loader', function() {
5454
throw new Error('Supposed to throw');
5555
});
5656

57-
it('should resolve various import syntax', async function() {
57+
it('should resolve various import syntax', async function () {
5858
var m = await loader.import('./register-modules/import.js');
5959
assert.equal(typeof m.a, 'function');
6060
assert.equal(m.b, 4);
@@ -64,7 +64,7 @@ describe('System Register Loader', function() {
6464
assert.equal(typeof m.q.foo, 'function');
6565
});
6666

67-
it('should support __moduleName', async function() {
67+
it('should support __moduleName', async function () {
6868
var m = await loader.import('./register-modules/moduleName.js');
6969
assert.equal(m.name, pathToFileUrl(path.resolve('test/fixtures/register-modules/moduleName.js')));
7070
});
@@ -73,7 +73,7 @@ describe('System Register Loader', function() {
7373
describe('Circular dependencies', function() {
7474

7575

76-
it('should resolve circular dependencies', async function() {
76+
it('should resolve circular dependencies', async function () {
7777
var m1 = await loader.import('./register-modules/circular1.js');
7878
var m2 = await loader.import('./register-modules/circular2.js');
7979

@@ -87,7 +87,7 @@ describe('System Register Loader', function() {
8787
assert.equal(m1.output2, 'test circular 1');
8888
});
8989

90-
it('should update circular dependencies', async function() {
90+
it('should update circular dependencies', async function () {
9191
var m = await loader.import('./register-modules/even.js');
9292
assert.equal(m.counter, 1);
9393
assert(m.even(10));
@@ -106,37 +106,37 @@ describe('System Register Loader', function() {
106106
});
107107
}
108108

109-
it('should load in order (a)', async function() {
109+
it('should load in order (a)', async function () {
110110
await assertLoadOrder('a.js', ['a', 'b']);
111111
});
112112

113-
it('should load in order (c)', async function() {
113+
it('should load in order (c)', async function () {
114114
await assertLoadOrder('c.js', ['c', 'a', 'b']);
115115
});
116116

117-
it('should load in order (s)', async function() {
117+
it('should load in order (s)', async function () {
118118
await assertLoadOrder('s.js', ['s', 'c', 'a', 'b']);
119119
});
120120

121-
it('should load in order (_a)', async function() {
121+
it('should load in order (_a)', async function () {
122122
await assertLoadOrder('_a.js', ['b', 'd', 'g', 'a']);
123123
});
124124

125-
it('should load in order (_e)', async function() {
125+
it('should load in order (_e)', async function () {
126126
await assertLoadOrder('_e.js', ['c', 'e']);
127127
});
128128

129-
it('should load in order (_f)', async function() {
129+
it('should load in order (_f)', async function () {
130130
await assertLoadOrder('_f.js', ['g', 'f']);
131131
});
132132

133-
it('should load in order (_h)', async function() {
133+
it('should load in order (_h)', async function () {
134134
await assertLoadOrder('_h.js', ['i', 'a', 'h']);
135135
});
136136
});
137137

138138
describe('Export variations', function () {
139-
it('should resolve different export syntax', async function() {
139+
it('should resolve different export syntax', async function () {
140140
var m = await loader.import('./register-modules/export.js');
141141
assert.equal(m.p, 5);
142142
assert.equal(typeof m.foo, 'function');
@@ -147,35 +147,35 @@ describe('System Register Loader', function() {
147147
assert.equal(typeof m.m, 'object');
148148
});
149149

150-
it('should resolve "export default"', async function() {
150+
it('should resolve "export default"', async function () {
151151
var m = await loader.import('./register-modules/export-default.js');
152152
assert.equal(m.default(), 'test');
153153
});
154154

155-
it('should support simple re-exporting', async function() {
155+
it('should support simple re-exporting', async function () {
156156
var m = await loader.import('./register-modules/reexport1.js');
157157
assert.equal(m.p, 5);
158158
});
159159

160-
it('should support re-exporting binding', async function() {
160+
it('should support re-exporting binding', async function () {
161161
await loader.import('./register-modules/reexport-binding.js');
162162
var m = await loader.import('./register-modules/rebinding.js');
163163
assert.equal(m.p, 4);
164164
});
165165

166-
it('should support re-exporting with a new name', async function() {
166+
it('should support re-exporting with a new name', async function () {
167167
var m = await loader.import('./register-modules/reexport2.js');
168168
assert.equal(m.q, 4);
169169
assert.equal(m.z, 5);
170170
});
171171

172-
it('should support re-exporting', async function() {
172+
it('should support re-exporting', async function () {
173173
var m = await loader.import('./register-modules/export-star.js');
174174
assert.equal(m.foo, 'foo');
175175
assert.equal(m.bar, 'bar');
176176
});
177177

178-
it.skip('should support re-exporting overwriting', async function() {
178+
it.skip('should support re-exporting overwriting', async function () {
179179
var m = await loader.import('./register-modules/export-star2.js');
180180
assert.equal(m.bar, 'bar');
181181
assert.equal(typeof m.foo, 'function');
@@ -196,17 +196,22 @@ describe('System Register Loader', function() {
196196
throw new Error('Test supposed to fail');
197197
}
198198

199-
it('should throw if on syntax error', async function() {
199+
it('should give a plain name error', async function () {
200+
var err = await getImportError('plain-name');
201+
assert.equal(err, 'Error: No resolution found.\n Resolving dependency "plain-name" to ' + fileUrlToPath(loader.key) + '\n Loading plain-name');
202+
});
203+
204+
it('should throw if on syntax error', async function () {
200205
var err = await getImportError('./register-modules/main.js');
201206
assert.equal(err, 'Error: dep error\n Evaluating ' + testPath + 'deperror.js\n Evaluating ' + testPath + 'main.js\n Loading ./register-modules/main.js');
202207
});
203208

204-
it('should throw what the script throws', async function() {
209+
it('should throw what the script throws', async function () {
205210
var err = await getImportError('./register-modules/deperror.js');
206211
assert.equal(err, 'Error: dep error\n Evaluating ' + testPath + 'deperror.js\n Loading ./register-modules/deperror.js');
207212
});
208213

209-
it('404 error', async function() {
214+
it('404 error', async function () {
210215
var err = await getImportError('./register-modules/load-non-existent.js');
211216
var lines = err.split('\n ');
212217
assert(lines[0].startsWith('Error: '));
@@ -225,7 +230,7 @@ describe('System Register Loader', function() {
225230
assert.equal(m.named, 'name!');
226231
});
227232

228-
it('should load mixed bundles of register and registerDynamic', async function() {
233+
it('should load mixed bundles of register and registerDynamic', async function () {
229234
new Module().require(path.resolve(fileUrlToPath(loader.key), 'dynamic-modules/mixed-bundle.js'));
230235
var m = await loader.import('tree/first');
231236
assert.equal(m.p, 5);

test/fixtures/system-register-loader.js

+1-4
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ SystemRegisterLoader.prototype = Object.create(RegisterLoader.prototype);
3737
// normalize is never given a relative name like "./x", that part is already handled
3838
// so we just need to do plain name detect to throw as in the WhatWG spec
3939
SystemRegisterLoader.prototype[RegisterLoader.resolve] = function (key, parent, metadata) {
40-
var resolved = RegisterLoader.prototype[RegisterLoader.resolve].call(this, key, parent, metadata);
41-
if (!resolved)
42-
throw new RangeError('System.register loader does not resolve plain module names, resolving "' + key + '" to ' + parent);
43-
return resolved;
40+
return RegisterLoader.prototype[RegisterLoader.resolve].call(this, key, parent, metadata);
4441
};
4542

4643
var fs;

0 commit comments

Comments
 (0)