generator-modx-package
Version:
A yeoman generator for MODX Revolution packages.
53 lines (43 loc) • 2.29 kB
JavaScript
/*global describe it */
var spawn = require('child_process').spawn;
var assert = require('assert');
var generators = require('..');
describe('Alias and namespaces', function () {
it('env.namespace()', function () {
var env = generators();
assert.equal(env.namespace('backbone/all/index.js'), 'backbone:all');
assert.equal(env.namespace('backbone/all/main.js'), 'backbone:all');
assert.equal(env.namespace('backbone/all'), 'backbone:all');
assert.equal(env.namespace('backbone/all.js'), 'backbone:all');
assert.equal(env.namespace('backbone.js'), 'backbone');
assert.equal(env.namespace('generator-backbone/all.js'), 'backbone:all');
assert.equal(env.namespace('generator-mocha/backbone/model/index.js'), 'mocha:backbone:model');
assert.equal(env.namespace('generator-mocha/backbone/model.js'), 'mocha:backbone:model');
assert.equal(env.namespace('node_modules/generator-mocha/backbone/model.js'), 'mocha:backbone:model');
assert.equal(env.namespace('../local/stuff'), 'local:stuff');
assert.equal(env.namespace('./local/stuff'), 'local:stuff');
assert.equal(env.namespace('././local/stuff'), 'local:stuff');
assert.equal(env.namespace('../../local/stuff'), 'local:stuff');
});
it('should work with mixed similar lookups', function () {
var env = generators();
// Order is important, smaller lookup must come first here
env.appendLookup('foo');
env.appendLookup('foo/bar');
assert.equal(env.namespace('foo/gen/all'), 'gen:all');
assert.equal(env.namespace('foo/bar/gen/all'), 'gen:all');
});
it('should work with weird paths', function () {
var env = generators();
assert.equal(env.namespace('////gen/all'), 'gen:all');
assert.equal(env.namespace('generator-backbone///all.js'), 'backbone:all');
assert.equal(env.namespace('generator-backbone/././all.js'), 'backbone:all');
assert.equal(env.namespace('generator-backbone/generator-backbone/all.js'), 'backbone:all');
});
it('should work in different OS', function () {
var env = generators();
assert.equal(env.namespace('backbone\\all\\main.js'), 'backbone:all');
assert.equal(env.namespace('backbone\\all'), 'backbone:all');
assert.equal(env.namespace('backbone\\all.js'), 'backbone:all');
});
});