@@ -184,6 +184,31 @@ ruleTester.run('template-no-unknown-arguments-for-builtin-components', rule, {
184184 output : null ,
185185 errors : [ { messageId : 'unknownArgument' } ] ,
186186 } ,
187+
188+ // Missing required arguments
189+ {
190+ code : '<template><LinkTo /></template>' ,
191+ output : null ,
192+ errors : [ { messageId : 'requiredArgument' } ] ,
193+ } ,
194+ {
195+ code : '<template><LinkTo @disabled={{true}} /></template>' ,
196+ output : null ,
197+ errors : [ { messageId : 'requiredArgument' } ] ,
198+ } ,
199+ {
200+ filename : 'my-component.gjs' ,
201+ code : `
202+ import Component from '@glimmer/component';
203+ export default class MyComponent extends Component {
204+ <template>
205+ <LinkTo @replace={{true}}>Home</LinkTo>
206+ </template>
207+ }
208+ ` ,
209+ output : null ,
210+ errors : [ { messageId : 'requiredArgument' } ] ,
211+ } ,
187212 ] ,
188213} ) ;
189214
@@ -333,5 +358,37 @@ Instead, please use the {{on}} modifier, i.e. "<Textarea {{on "keyup" ...}} />"
333358 } ,
334359 ] ,
335360 } ,
361+
362+ // Missing required arguments
363+ {
364+ code : '<LinkTo />' ,
365+ output : null ,
366+ errors : [
367+ {
368+ message :
369+ 'Arguments "@route" or "@query" or "@model" or "@models" is required for <LinkTo /> component.' ,
370+ } ,
371+ ] ,
372+ } ,
373+ {
374+ code : '<LinkTo @disabled={{true}} />' ,
375+ output : null ,
376+ errors : [
377+ {
378+ message :
379+ 'Arguments "@route" or "@query" or "@model" or "@models" is required for <LinkTo /> component.' ,
380+ } ,
381+ ] ,
382+ } ,
383+ {
384+ code : '<LinkTo @replace={{true}}>Home</LinkTo>' ,
385+ output : null ,
386+ errors : [
387+ {
388+ message :
389+ 'Arguments "@route" or "@query" or "@model" or "@models" is required for <LinkTo /> component.' ,
390+ } ,
391+ ] ,
392+ } ,
336393 ] ,
337394} ) ;
0 commit comments