diff --git a/test-app/.eslintrc.js b/test-app/.eslintrc.js
index 25ceaab4..cadd243f 100644
--- a/test-app/.eslintrc.js
+++ b/test-app/.eslintrc.js
@@ -51,6 +51,7 @@ module.exports = {
// test files
files: ['tests/**/*-test.{js,ts}'],
extends: ['plugin:qunit/recommended'],
+ rules: { 'ember/no-empty-glimmer-component-classes': 'off' },
},
],
};
diff --git a/test-app/app/components/group-list-item.hbs b/test-app/app/components/group-list-item.hbs
deleted file mode 100644
index d0a7ce66..00000000
--- a/test-app/app/components/group-list-item.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/test-app/app/components/hyperlink.hbs b/test-app/app/components/hyperlink.hbs
deleted file mode 100644
index 1c5ecf36..00000000
--- a/test-app/app/components/hyperlink.hbs
+++ /dev/null
@@ -1 +0,0 @@
-{{yield}}
\ No newline at end of file
diff --git a/test-app/app/components/list-item.hbs b/test-app/app/components/list-item.hbs
deleted file mode 100644
index 31378b71..00000000
--- a/test-app/app/components/list-item.hbs
+++ /dev/null
@@ -1 +0,0 @@
-{{~yield}} bananna
\ No newline at end of file
diff --git a/test-app/tests/integration/components/prismic/dom-test.js b/test-app/tests/integration/components/prismic/dom-test.js
index 6a702fcc..dfa3f759 100644
--- a/test-app/tests/integration/components/prismic/dom-test.js
+++ b/test-app/tests/integration/components/prismic/dom-test.js
@@ -1,6 +1,8 @@
import { render } from '@ember/test-helpers';
import { setupRenderingTest } from 'ember-qunit';
import { module, test } from 'qunit';
+import { setComponentTemplate } from '@ember/component';
+import Component from '@glimmer/component';
import { hbs } from 'ember-cli-htmlbars';
@@ -18,6 +20,14 @@ module('Integration | Component | prismic/dom', function (hooks) {
module('custom elements', function () {
test('hyperlink', async function (assert) {
+ class Hyperlink extends Component {}
+ setComponentTemplate(
+ hbs`{{yield}}`,
+ Hyperlink
+ );
+
+ this.hyperlink = Hyperlink;
+
this.nodes = [
{
type: 'paragraph',
@@ -34,7 +44,7 @@ module('Integration | Component | prismic/dom', function (hooks) {
];
await render(
- hbs``
+ hbs``
);
assert.strictEqual(
cleanHtml(this),
@@ -42,16 +52,52 @@ module('Integration | Component | prismic/dom', function (hooks) {
);
});
+ test('handle passing a custom component as a string', async function (assert) {
+ class SuperCustom extends Component {}
+ setComponentTemplate(hbs`{{yield}}`, SuperCustom);
+
+ this.nodes = [
+ {
+ type: 'paragraph',
+ text: 'A fancy component',
+ spans: [
+ {
+ start: 2,
+ end: 7,
+ type: 'super-custom',
+ },
+ ],
+ },
+ ];
+ this.owner.register('component:super-custom', SuperCustom);
+
+ await render(
+ hbs``
+ );
+
+ assert.strictEqual(
+ cleanHtml(this),
+ ''
+ );
+ });
+
test('list', async function (assert) {
+ class GroupListItem extends Component {}
+ class ListItem extends Component {}
+
+ setComponentTemplate(hbs``, GroupListItem);
+ setComponentTemplate(hbs`{{~yield}} bananna`, ListItem);
+
this.nodes = [
{ type: 'list-item', text: 'one', spans: [] },
{ type: 'list-item', text: 'two', spans: [] },
];
+ this.groupListItem = GroupListItem;
this.listItem = '';
await render(
- hbs``
+ hbs``
);
assert.strictEqual(
@@ -59,7 +105,7 @@ module('Integration | Component | prismic/dom', function (hooks) {
''
);
- this.set('listItem', 'list-item');
+ this.set('listItem', ListItem);
assert.strictEqual(
cleanHtml(this),