12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*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');
- });
- });
|