From 15b044666ae569bae38afc46da94f2cdadafa556 Mon Sep 17 00:00:00 2001 From: Eric White Date: Fri, 10 Aug 2018 15:54:41 -0400 Subject: [PATCH 1/2] don't set attribute bindings on tagless components --- addon/mixins/hook.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addon/mixins/hook.js b/addon/mixins/hook.js index 4ba338e..a166ebb 100644 --- a/addon/mixins/hook.js +++ b/addon/mixins/hook.js @@ -17,8 +17,7 @@ const hookQualifierName = get(config, 'emberHook.hookQualifierName') || 'hookQua export default Mixin.create({ init() { this._super(...arguments); - - if (this.tagName || this.elementId) { + if (this.tagName) { let newAttributeBindings = []; let bindings = get(this, 'attributeBindings'); From 993f3aed229bc7f45573cfad8456304cb53d3715 Mon Sep 17 00:00:00 2001 From: Eric White Date: Fri, 10 Aug 2018 16:21:32 -0400 Subject: [PATCH 2/2] don't break tagless --- addon/mixins/hook.js | 2 +- tests/integration/components/tagless-test.js | 23 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 tests/integration/components/tagless-test.js diff --git a/addon/mixins/hook.js b/addon/mixins/hook.js index a166ebb..63f88ef 100644 --- a/addon/mixins/hook.js +++ b/addon/mixins/hook.js @@ -17,7 +17,7 @@ const hookQualifierName = get(config, 'emberHook.hookQualifierName') || 'hookQua export default Mixin.create({ init() { this._super(...arguments); - if (this.tagName) { + if (this.tagName !== '') { let newAttributeBindings = []; let bindings = get(this, 'attributeBindings'); diff --git a/tests/integration/components/tagless-test.js b/tests/integration/components/tagless-test.js new file mode 100644 index 0000000..01baaa1 --- /dev/null +++ b/tests/integration/components/tagless-test.js @@ -0,0 +1,23 @@ +import { moduleForComponent, test } from 'ember-qunit'; +import hbs from 'htmlbars-inline-precompile'; +import Ember from 'ember'; +import {HookMixin} from 'ember-hook'; + +moduleForComponent('ember-hook', 'Integration | Component | tagless', { + integration: true +}); + +test('ember-hook does not tag less component', function(assert) { + + this.register('component:tag-less', Ember.Component.extend(HookMixin, { + tagName: '' + })); + + this.render(hbs` + {{#tag-less}} + template block text + {{/tag-less}} + `); + + assert.equal(this.$().text().trim(), 'template block text'); +});