var path = require('path'); var test = require('tape'); var resolve = require('../');

test('moduleDirectory strings', function (t) {

t.plan(4);
var dir = path.join(__dirname, 'module_dir');
var xopts = {
    basedir: dir,
    moduleDirectory: 'xmodules'
};
resolve('aaa', xopts, function (err, res, pkg) {
    t.ifError(err);
    t.equal(res, path.join(dir, '/xmodules/aaa/index.js'));
});

var yopts = {
    basedir: dir,
    moduleDirectory: 'ymodules'
};
resolve('aaa', yopts, function (err, res, pkg) {
    t.ifError(err);
    t.equal(res, path.join(dir, '/ymodules/aaa/index.js'));
});

});

test('moduleDirectory array', function (t) {

t.plan(6);
var dir = path.join(__dirname, 'module_dir');
var aopts = {
    basedir: dir,
    moduleDirectory: ['xmodules', 'ymodules', 'zmodules']
};
resolve('aaa', aopts, function (err, res, pkg) {
    t.ifError(err);
    t.equal(res, path.join(dir, '/xmodules/aaa/index.js'));
});

var bopts = {
    basedir: dir,
    moduleDirectory: ['zmodules', 'ymodules', 'xmodules']
};
resolve('aaa', bopts, function (err, res, pkg) {
    t.ifError(err);
    t.equal(res, path.join(dir, '/ymodules/aaa/index.js'));
});

var copts = {
    basedir: dir,
    moduleDirectory: ['xmodules', 'ymodules', 'zmodules']
};
resolve('bbb', copts, function (err, res, pkg) {
    t.ifError(err);
    t.equal(res, path.join(dir, '/zmodules/bbb/main.js'));
});

});