@@ -16,23 +16,33 @@ ruleTester.run('template-no-outlet-outside-routes', rule, {
1616 '<template><div>Content</div></template>' ,
1717 '<template>{{foo}}</template>' ,
1818 '<template>{{button}}</template>' ,
19+ // GJS route templates — outlet is allowed
20+ {
21+ filename : 'app/routes/foo.gjs' ,
22+ code : '<template>{{outlet}}</template>' ,
23+ } ,
24+ {
25+ filename : 'app/routes/foo.gts' ,
26+ code : '<template>{{outlet}}</template>' ,
27+ } ,
1928 ] ,
2029 invalid : [
21- // GJS files are always components — outlet should be flagged
30+ // Co-located component (explicit filename)
2231 {
32+ filename : 'app/components/my-component.gjs' ,
2333 code : '<template>{{outlet}}</template>' ,
2434 output : null ,
2535 errors : [ { messageId : 'noOutletOutsideRoutes' } ] ,
2636 } ,
2737 {
28- code : '<template><div>{{outlet}}</div></template>' ,
38+ filename : 'app/components/my-component.gts' ,
39+ code : '<template>{{outlet}}</template>' ,
2940 output : null ,
3041 errors : [ { messageId : 'noOutletOutsideRoutes' } ] ,
3142 } ,
32- // Co-located component (explicit filename)
3343 {
3444 filename : 'app/components/my-component.gjs' ,
35- code : '<template>{{outlet}}</template>' ,
45+ code : '<template><div> {{outlet}}</div> </template>' ,
3646 output : null ,
3747 errors : [ { messageId : 'noOutletOutsideRoutes' } ] ,
3848 } ,
@@ -52,9 +62,6 @@ hbsRuleTester.run('template-no-outlet-outside-routes', rule, {
5262 // Non-outlet usage
5363 '{{foo}}' ,
5464 '{{button}}' ,
55- // Block form is ambiguous (could be a component named "outlet")
56- '{{#outlet}}Why?!{{/outlet}}' ,
57- '{{#outlet}}Works because ambiguous{{/outlet}}' ,
5865 // Route templates — outlet is allowed
5966 {
6067 filename : 'app/templates/foo/route.hbs' ,
@@ -64,12 +71,21 @@ hbsRuleTester.run('template-no-outlet-outside-routes', rule, {
6471 filename : 'app/templates/routes/foo.hbs' ,
6572 code : '{{outlet}}' ,
6673 } ,
74+ // Block form in route templates
75+ {
76+ filename : 'app/templates/foo/route.hbs' ,
77+ code : '{{#outlet}}Why?!{{/outlet}}' ,
78+ } ,
79+ {
80+ filename : 'app/templates/routes/foo.hbs' ,
81+ code : '{{#outlet}}Why?!{{/outlet}}' ,
82+ } ,
6783 // Ambiguous path — not clearly a component, so allowed
6884 {
6985 filename : 'app/templates/something/foo.hbs' ,
70- code : '{{outlet}}' ,
86+ code : '{{#outlet}}Works because ambiguous{{/ outlet}}' ,
7187 } ,
72- // "components" in the prefix but not under templates/components/ or app/components/
88+ // "components" appears in prefix but not under <app>/ templates/components/ or < app> /components/
7389 {
7490 filename : 'components/templates/application.hbs' ,
7591 code : '{{outlet}}' ,
0 commit comments