@@ -3,7 +3,8 @@ import { setupRenderingTest } from 'ember-qunit';
33import Component from ' @glimmer/component' ;
44import { tracked } from ' @glimmer/tracking' ;
55import { run } from ' @ember/runloop' ;
6- import { render , type TestContext } from ' @ember/test-helpers' ;
6+ import { render , click , type TestContext } from ' @ember/test-helpers' ;
7+ import { on } from ' @ember/modifier' ;
78import RenderMobiledoc from ' ember-mobiledoc-dom-renderer/components/render-mobiledoc' ;
89import DestroyNotifyingRenderer from ' dummy/components/destroy-notifying-renderer' ;
910import NameChangingRenderer from ' dummy/components/name-changing-renderer' ;
@@ -16,6 +17,7 @@ import {
1617 createMobiledocWithStrongMarkup ,
1718 createMobiledocWithCard ,
1819 createMobiledocWithAtom ,
20+ createMobiledocWithLink ,
1921} from ' ../../helpers/mobiledoc' ;
2022
2123module (' Integration | Component | render-mobiledoc' , function (hooks ) {
@@ -635,4 +637,31 @@ module('Integration | Component | render-mobiledoc', function (hooks) {
635637 </template >,
636638 );
637639 });
640+
641+ test (' it renders links and forwards splattributes click' , async function (this : TestContext , assert ) {
642+ let clicked = false ;
643+ this .set (' handleClick' , (ev ) => {
644+ ev .preventDefault ();
645+ clicked = true ;
646+ });
647+ this .set (
648+ ' mobiledoc' ,
649+ createMobiledocWithLink (' https://example.com' , ' Example' ),
650+ );
651+ const context = this ;
652+ await render (
653+ <template >
654+ <RenderMobiledoc
655+ @ mobiledoc ={{context.mobiledoc }}
656+ {{on ' click' context.handleClick }}
657+ />
658+ </template >,
659+ );
660+
661+ assert .dom (' a' ).exists (' renders an anchor element' );
662+ assert .dom (' a' ).hasAttribute (' href' , ' https://example.com' );
663+
664+ await click (' a' );
665+ assert .ok (clicked , ' click handler invoked via splattributes' );
666+ });
638667});
0 commit comments