diff --git a/mu-trees/addon/resolvers/glimmer-wrapper/index.js b/mu-trees/addon/resolvers/glimmer-wrapper/index.js index e2de565d..2705a9b9 100644 --- a/mu-trees/addon/resolvers/glimmer-wrapper/index.js +++ b/mu-trees/addon/resolvers/glimmer-wrapper/index.js @@ -63,15 +63,16 @@ function cleanupEmberSpecifier(specifier, source, _namespace) { return [specifier, source]; } - -const normalize = !DEBUG ? null : function(specifier) { +const normalize = !DEBUG ? null : function(fullName) { // This method is called by `Registry#validateInjections` in dev mode. // https://github.com/ember-cli/ember-resolver/issues/299 - const [type, name] = specifier.split(':', 2); - if (name && (type === 'service' || type === 'controller')) { - return `${type}:${dasherize(name)}`; + if (fullName) { + const [type, name] = fullName.split(':', 2); + if (name && (type === 'service' || type === 'controller')) { + return `${type}:${dasherize(name)}`; + } } - return specifier; + return fullName; }; /* diff --git a/mu-trees/tests/unit/resolvers/glimmer-wrapper/normalize-test.js b/mu-trees/tests/unit/resolvers/glimmer-wrapper/normalize-test.js new file mode 100644 index 00000000..6fc143e2 --- /dev/null +++ b/mu-trees/tests/unit/resolvers/glimmer-wrapper/normalize-test.js @@ -0,0 +1,30 @@ +import { module, test } from 'qunit'; +import Resolver from 'ember-resolver/resolvers/glimmer-wrapper'; +import BasicRegistry from '@glimmer/resolver/module-registries/basic-registry'; + +let resolver; +module('ember-resolver/resolvers/glimmer-wrapper#normalize', { + beforeEach() { + + let glimmerModuleRegistry = new BasicRegistry(); + + resolver = Resolver.create({ + config: { + app: { + name: 'example-app' + } + }, + glimmerModuleRegistry + }); + } +}); + +test('normalization', function(assert) { + assert.ok(resolver.normalize, 'resolver#normalize is present'); + + assert.equal(resolver.normalize('service:myService'), 'service:my-service'); + + // `expandLocalLookup` calls this.normalize(options.source) with `source` empty with MU addon + assert.equal(resolver.normalize(), undefined); + +});