diff --git a/ember_debug/libs/glimmer-tree.js b/ember_debug/libs/glimmer-tree.js index 89d0f8e8af..2b101dd7d4 100644 --- a/ember_debug/libs/glimmer-tree.js +++ b/ember_debug/libs/glimmer-tree.js @@ -479,7 +479,8 @@ export default class { * @return {String} The layout's name */ nameFromLayout(layout) { - let moduleName = layout && get(layout, 'meta.moduleName'); + let moduleName = layout && get(layout, 'referrer.moduleName'); + if (moduleName) { return moduleName.replace(/\.hbs$/, ''); } diff --git a/tests/ember_debug/view-debug-test.js b/tests/ember_debug/view-debug-test.js index 5049464da5..f6ca179b08 100644 --- a/tests/ember_debug/view-debug-test.js +++ b/tests/ember_debug/view-debug-test.js @@ -22,8 +22,15 @@ const EmberDebug = require('ember-debug/main').default; let port; let App; -function setTemplate(name, template) { - this.owner.register(`template:${name}`, template); +function setTemplate(name, factory) { + if (typeof factory.meta === 'object') { + factory.meta.moduleName = `my-app/${name}.hbs`; + } else if (typeof factory.__meta === 'object') { + // Ember 3.13+ + factory.__meta.moduleName = `my-app/${name}.hbs`; + } + + this.owner.register(`template:${name}`, factory); } function isVisible(elem) { @@ -85,6 +92,7 @@ function setupApp() { setTemplate.call(this, 'simple', hbs`Simple {{test-foo class="simple-component"}}`); setTemplate.call(this, 'comments/index', hbs`{{#each}}{{this}}{{/each}}`); setTemplate.call(this, 'posts', hbs`Posts`); + setTemplate.call(this, 'components/test-foo', hbs`test-foo`); } module('Ember Debug - View', function(hooks) { @@ -150,6 +158,7 @@ module('Ember Debug - View', function(hooks) { assert.equal(simple.children.length, 1, 'Components are shown.'); let component = simple.children[0]; assert.equal(component.value.viewClass, 'App.TestFooComponent'); + assert.equal(component.value.template, 'my-app/components/test-foo'); }); skip('Highlighting Views on hover', async function t(assert) {