1 var test = require('tape');
2 var resolve = require('../');
4 test('foo', function (t) {
5 var dir = __dirname + '/resolver';
8 resolve.sync('./foo', { basedir : dir }),
13 resolve.sync('./foo.js', { basedir : dir }),
17 t.throws(function () {
18 resolve.sync('foo', { basedir : dir });
24 test('bar', function (t) {
25 var dir = __dirname + '/resolver';
28 resolve.sync('foo', { basedir : dir + '/bar' }),
29 dir + '/bar/node_modules/foo/index.js'
34 test('baz', function (t) {
35 var dir = __dirname + '/resolver';
38 resolve.sync('./baz', { basedir : dir }),
44 test('biz', function (t) {
45 var dir = __dirname + '/resolver/biz/node_modules';
47 resolve.sync('./grux', { basedir : dir }),
48 dir + '/grux/index.js'
52 resolve.sync('tiv', { basedir : dir + '/grux' }),
57 resolve.sync('grux', { basedir : dir + '/tiv' }),
58 dir + '/grux/index.js'
63 test('normalize', function (t) {
64 var dir = __dirname + '/resolver/biz/node_modules/grux';
66 resolve.sync('../grux', { basedir : dir }),
72 test('cup', function (t) {
73 var dir = __dirname + '/resolver';
75 resolve.sync('./cup', {
77 extensions : [ '.js', '.coffee' ]
83 resolve.sync('./cup.coffee', {
89 t.throws(function () {
90 resolve.sync('./cup', {
92 extensions : [ '.js' ]
99 test('mug', function (t) {
100 var dir = __dirname + '/resolver';
102 resolve.sync('./mug', { basedir : dir }),
107 resolve.sync('./mug', {
109 extensions : [ '.coffee', '.js' ]
115 resolve.sync('./mug', {
117 extensions : [ '.js', '.coffee' ]
125 test('other path', function (t) {
126 var resolverDir = __dirname + '/resolver';
127 var dir = resolverDir + '/bar';
128 var otherDir = resolverDir + '/other_path';
130 var path = require('path');
133 resolve.sync('root', {
135 paths: [otherDir] }),
136 resolverDir + '/other_path/root.js'
140 resolve.sync('lib/other-lib', {
142 paths: [otherDir] }),
143 resolverDir + '/other_path/lib/other-lib.js'
146 t.throws(function () {
147 resolve.sync('root', { basedir : dir, });
150 t.throws(function () {
151 resolve.sync('zzz', {
153 paths: [otherDir] });
159 test('incorrect main', function (t) {
160 var resolverDir = __dirname + '/resolver';
161 var dir = resolverDir + '/incorrect_main';
164 resolve.sync('./incorrect_main', { basedir : resolverDir }),
171 test('#25: node modules with the same name as node stdlib modules', function (t) {
172 var resolverDir = __dirname + '/resolver/punycode';
175 resolve.sync('punycode', { basedir : resolverDir }),
176 resolverDir + '/node_modules/punycode/index.js'