mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-10 21:01:41 +00:00
update
This commit is contained in:
222
node_modules/resolve-dependency-path/test/test.js
generated
vendored
Normal file
222
node_modules/resolve-dependency-path/test/test.js
generated
vendored
Normal file
@ -0,0 +1,222 @@
|
||||
var assert = require('assert');
|
||||
var resolvePath = require('../');
|
||||
var path = require('path');
|
||||
|
||||
describe('resolve-dependency-path', function() {
|
||||
it('resolves with absolute paths', function() {
|
||||
var resolved = resolvePath({
|
||||
dependency: './bar',
|
||||
filename: __dirname + '/foo.js',
|
||||
directory: __dirname
|
||||
});
|
||||
assert(resolved.indexOf(__dirname) === 0);
|
||||
});
|
||||
|
||||
it('resolves w/initial period, w/ending in .js', function() {
|
||||
var depPath = './index';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert(resolved === __dirname + '/index.js');
|
||||
});
|
||||
|
||||
it('resolves w/initial period, w/o ending in .js', function() {
|
||||
var depPath = './index.js';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert(resolved === __dirname + '/index.js');
|
||||
});
|
||||
|
||||
it('resolves w/o initial period, w/o ending in .js', function() {
|
||||
var depPath = 'index';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert(resolved === __dirname + '/index.js');
|
||||
});
|
||||
|
||||
it('resolves w/o initial period, w/ending in .js', function() {
|
||||
var depPath = 'index.js';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert(resolved === __dirname + '/index.js');
|
||||
});
|
||||
|
||||
it('resolves relative paths', function() {
|
||||
var resolved = resolvePath({
|
||||
dependency: './bar',
|
||||
filename: __dirname + '/foo.js',
|
||||
directory: __dirname
|
||||
});
|
||||
assert(resolved === __dirname + '/bar.js');
|
||||
});
|
||||
|
||||
it('resolves non-relative paths', function() {
|
||||
var filename = __dirname + '/feature1/foo.js';
|
||||
var resolved = resolvePath({
|
||||
dependency: 'feature2/bar',
|
||||
filename,
|
||||
directory: __dirname
|
||||
});
|
||||
assert(resolved === __dirname + '/feature2/bar.js');
|
||||
});
|
||||
|
||||
it('throws if the dependency path is missing', function() {
|
||||
assert.throws(function() {
|
||||
resolvePath();
|
||||
});
|
||||
});
|
||||
|
||||
it('throws if the filename is missing', function() {
|
||||
assert.throws(function() {
|
||||
resolvePath({
|
||||
dependency: './bar'
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('throws if the directory is missing', function() {
|
||||
assert.throws(function() {
|
||||
resolvePath({
|
||||
dependency: './bar',
|
||||
filename: __dirname + '/foo.js'
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('multiple period filenames', function() {
|
||||
it('resolves with multiple periods in the dependency path', function() {
|
||||
var depPath = './bar.baz.qux';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert(resolved === __dirname + '/bar.baz.qux.js');
|
||||
});
|
||||
|
||||
it('does not duplicate extensions', function() {
|
||||
var depPath = '../index.js';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
// Extension after removing the .js extension
|
||||
var remainingExt = path.extname(path.basename(resolved, '.js'));
|
||||
assert.equal(remainingExt, '');
|
||||
});
|
||||
|
||||
it('does not add the incorrect extension for sass files', function() {
|
||||
var depPath = 'styles';
|
||||
var filename = __dirname + '/foo.scss';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.scss');
|
||||
});
|
||||
|
||||
it('does not add the incorrect extension for mustache files', function() {
|
||||
var depPath = 'hgn!templates/foo.mustache';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.mustache');
|
||||
});
|
||||
});
|
||||
|
||||
describe('implicit jspm/systemjs style plugins', function() {
|
||||
it('resolve w/initial period', function() {
|
||||
var depPath = './templates/file.css!';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.css');
|
||||
});
|
||||
|
||||
it('resolve w/o initial period', function() {
|
||||
var depPath = 'templates/file.css!';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.css');
|
||||
});
|
||||
});
|
||||
|
||||
describe('explicit jspm/systemjs style plugins', function() {
|
||||
it('resolve w/initial period', function() {
|
||||
var depPath = './templates/file.txt!text';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.txt');
|
||||
});
|
||||
|
||||
it('resolve w/o initial period', function() {
|
||||
var depPath = 'templates/file.txt!text';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.txt');
|
||||
});
|
||||
});
|
||||
|
||||
describe('webpack support', function() {
|
||||
it.skip('resolves properly', function() {
|
||||
var depPath = './styles/foo.css';
|
||||
var filename = __dirname + '/foo.js';
|
||||
var directory = __dirname;
|
||||
var resolved = resolvePath({
|
||||
dependency: depPath,
|
||||
filename,
|
||||
directory
|
||||
});
|
||||
assert.equal(path.extname(resolved), '.css');
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user