Code coverage report for lib/util/normalizeName.js

Statements: 100% (20 / 20)      Branches: 100% (8 / 8)      Functions: 100% (1 / 1)      Lines: 100% (20 / 20)      Ignored: none     

All files » lib/util/ » normalizeName.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 311 1 1   1 282 282 282     204   144 144 144 144   144 144   60     282 12 270 16   282    
var path = require('path');
var rmExt = require('./rmExt');
var isAddon = require('./isAddon');
 
module.exports = function(name, options) {
  name = rmExt(name);
  var namespace = options.modulePrefix;
  if (isAddon(name)) {
    // Preserve the addon's namespace in the name if the file
    // is located in the 'addon' directory
    if (/^ember\-addon\:.+\/addon\//i.test(name)) {
 
      var basePath = 'ember-addon:'+path.resolve(options.addonPath)+'/';
      name = name.replace(basePath, '');
      var parts = name.split('/');
      namespace = parts.shift();
      // remove the 'addon' segment of the path
      parts.shift();
      name = parts.join('/');
    } else {
      name = name.replace(/^ember\-addon\:.+\/app\//i, '');
    }
  }
  if (/^components\/.+\/template$/i.test(name)) {
    name = 'templates/'+name.replace(/\/template$/i, '');
  } else if (/^components\/.+\/component$/i.test(name)) {
    name = name.replace(/\/component$/i, '');
  }
  return namespace+'/'+name;
}