diff --git a/packages/@ember/-internals/glimmer/tests/integration/components/angle-bracket-invocation-test.js b/packages/@ember/-internals/glimmer/tests/integration/components/angle-bracket-invocation-test.js
index 1181641d160..34e4cf89d2f 100644
--- a/packages/@ember/-internals/glimmer/tests/integration/components/angle-bracket-invocation-test.js
+++ b/packages/@ember/-internals/glimmer/tests/integration/components/angle-bracket-invocation-test.js
@@ -821,6 +821,71 @@ if (EMBER_GLIMMER_ANGLE_BRACKET_INVOCATION) {
});
}
+ '@test can forward ...attributes to dynamic component invocation ("splattributes")'() {
+ this.registerComponent('x-outer', {
+ ComponentClass: Component.extend({ tagName: '' }),
+ template: '{{yield}}',
+ });
+
+ this.registerComponent('x-inner', {
+ ComponentClass: Component.extend({ tagName: '' }),
+ template: '
{{yield}}
',
+ });
+
+ this.render(strip`
+ {{#let (component 'x-outer') as |Thing|}}
+ Hello!
+ {{/let}}
+ `);
+
+ this.assertElement(this.firstChild, {
+ tagName: 'div',
+ attrs: { 'data-foo': '' },
+ content: 'Hello!',
+ });
+ }
+
+ '@test an inner angle invocation can forward ...attributes through dynamic component invocation ("splattributes")'() {
+ this.registerComponent('x-outer', {
+ ComponentClass: Component.extend({ tagName: '' }),
+ template: `{{#let (component 'x-inner') as |Thing|}}{{yield}}{{/let}}`,
+ });
+
+ this.registerComponent('x-inner', {
+ ComponentClass: Component.extend({ tagName: '' }),
+ template: '{{yield}}
',
+ });
+
+ this.render('Hello!');
+
+ this.assertElement(this.firstChild, {
+ tagName: 'div',
+ attrs: { 'data-foo': '' },
+ content: 'Hello!',
+ });
+ }
+
+ '@test an inner angle invocation can forward ...attributes through static component invocation ("splattributes")'() {
+ this.registerComponent('x-outer', {
+ ComponentClass: Component.extend({ tagName: '' }),
+ template: `{{yield}}`,
+ });
+
+ this.registerComponent('x-inner', {
+ ComponentClass: Component.extend({ tagName: '' }),
+ template: '{{yield}}
',
+ });
+
+ this.render('Hello!');
+
+ this.assertElement(this.firstChild, {
+ tagName: 'div',
+ attrs: { 'data-foo': '' },
+ content: 'Hello!',
+ });
+ }
+
+
'@test can include `...attributes` in multiple elements in tagless component ("splattributes")'() {
this.registerComponent('foo-bar', {
ComponentClass: Component.extend({ tagName: '' }),