Skip to content

Commit 13fb572

Browse files
committed
[Tests] add some tests for browser field
1 parent c8a2052 commit 13fb572

File tree

6 files changed

+51
-0
lines changed

6 files changed

+51
-0
lines changed

test/.eslintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"rules": {
3+
"max-lines": 0
4+
}
5+
}

test/resolver.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,3 +360,28 @@ test('not a directory', function (t) {
360360
t.equal(err && err.message, 'Cannot find module \'' + path + "' from '" + __filename + "'");
361361
});
362362
});
363+
364+
test('browser field in package.json', function (t) {
365+
t.plan(3);
366+
367+
var dir = path.join(__dirname, 'resolver');
368+
resolve(
369+
'./browser_field',
370+
{
371+
basedir: dir,
372+
packageFilter: function packageFilter(pkg) {
373+
if (pkg.browser) {
374+
pkg.main = pkg.browser;
375+
delete pkg.browser;
376+
}
377+
return pkg;
378+
}
379+
},
380+
function (err, res, pkg) {
381+
if (err) t.fail(err);
382+
t.equal(res, path.join(dir, 'browser_field', 'b.js'));
383+
t.equal(pkg && pkg.main, 'b');
384+
t.equal(pkg && pkg.browser, undefined);
385+
}
386+
);
387+
});

test/resolver/browser_field/a.js

Whitespace-only changes.

test/resolver/browser_field/b.js

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "browser_field",
3+
"main": "a",
4+
"browser": "b"
5+
}

test/resolver_sync.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,3 +277,19 @@ test('not a directory', function (t) {
277277
}
278278
t.end();
279279
});
280+
281+
test('browser field in package.json', function (t) {
282+
var dir = path.join(__dirname, 'resolver');
283+
var res = resolve.sync('./browser_field', {
284+
basedir: dir,
285+
packageFilter: function packageFilter(pkg) {
286+
if (pkg.browser) {
287+
pkg.main = pkg.browser;
288+
delete pkg.browser;
289+
}
290+
return pkg;
291+
}
292+
});
293+
t.equal(res, path.join(dir, 'browser_field', 'b.js'));
294+
t.end();
295+
});

0 commit comments

Comments
 (0)