@@ -86,7 +86,7 @@ suite('decorators', () => {
86
86
suite ( '@customElement' , ( ) => {
87
87
test ( 'defines an element' , ( ) => {
88
88
const tagName = generateElementName ( ) ;
89
- @customElement ( tagName as keyof HTMLElementTagNameMap )
89
+ @customElement ( tagName )
90
90
class C0 extends HTMLElement {
91
91
}
92
92
const DefinedC = customElements . get ( tagName ) ;
@@ -324,7 +324,7 @@ suite('decorators', () => {
324
324
} ) ;
325
325
326
326
suite ( '@query' , ( ) => {
327
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
327
+ @customElement ( generateElementName ( ) )
328
328
class C extends LitElement {
329
329
@query ( '#blah' ) blah ?: HTMLDivElement ;
330
330
@@ -357,7 +357,7 @@ suite('decorators', () => {
357
357
} ) ;
358
358
359
359
suite ( '@queryAll' , ( ) => {
360
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
360
+ @customElement ( generateElementName ( ) )
361
361
class C extends LitElement {
362
362
@queryAll ( 'div' ) divs ! : NodeList ;
363
363
@@ -393,7 +393,7 @@ suite('decorators', () => {
393
393
} ) ;
394
394
395
395
suite ( '@queryAssignedNodes' , ( ) => {
396
- @customElement ( 'assigned-nodes-el' as keyof HTMLElementTagNameMap )
396
+ @customElement ( 'assigned-nodes-el' )
397
397
class D extends LitElement {
398
398
@queryAssignedNodes ( ) defaultAssigned ! : Node [ ] ;
399
399
@@ -408,16 +408,33 @@ suite('decorators', () => {
408
408
}
409
409
}
410
410
411
+ @customElement ( 'assigned-nodes-el-2' )
412
+ class E extends LitElement {
413
+ @queryAssignedNodes ( ) defaultAssigned ! : Node [ ] ;
414
+
415
+ @queryAssignedNodes ( 'header' ) headerAssigned ! : Node [ ] ;
416
+
417
+ render ( ) {
418
+ return html `
419
+ < slot name ="header "> </ slot >
420
+ < slot > </ slot >
421
+ ` ;
422
+ }
423
+ }
424
+
411
425
// Note, there are 2 elements here so that the `flatten` option of
412
426
// the decorator can be tested.
413
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
427
+ @customElement ( generateElementName ( ) )
414
428
class C extends LitElement {
415
- @query ( 'div' ) div ! : HTMLDivElement ;
429
+ @query ( '#div1' ) div ! : HTMLDivElement ;
430
+ @query ( '#div2' ) div2 ! : HTMLDivElement ;
416
431
@query ( 'assigned-nodes-el' ) assignedNodesEl ! : D ;
432
+ @query ( 'assigned-nodes-el-2' ) assignedNodesEl2 ! : E ;
417
433
418
434
render ( ) {
419
435
return html `
420
- < assigned-nodes-el > < div > A</ div > < slot slot ="footer "> </ slot > </ assigned-nodes-el >
436
+ < assigned-nodes-el > < div id ="div1 "> A</ div > < slot slot ="footer "> </ slot > </ assigned-nodes-el >
437
+ < assigned-nodes-el-2 > < div id ="div2 "> B</ div > </ assigned-nodes-el-2 >
421
438
` ;
422
439
}
423
440
}
@@ -439,6 +456,16 @@ suite('decorators', () => {
439
456
assert . deepEqual ( c . assignedNodesEl . defaultAssigned , [ c . div ] ) ;
440
457
} ) ;
441
458
459
+ test (
460
+ 'returns assignedNodes for unnamed slot that is not first slot' ,
461
+ async ( ) => {
462
+ const c = new C ( ) ;
463
+ container . appendChild ( c ) ;
464
+ await c . updateComplete ;
465
+ await c . assignedNodesEl . updateComplete ;
466
+ assert . deepEqual ( c . assignedNodesEl2 . defaultAssigned , [ c . div2 ] ) ;
467
+ } ) ;
468
+
442
469
test ( 'returns flattened assignedNodes for slot' , async ( ) => {
443
470
const c = new C ( ) ;
444
471
container . appendChild ( c ) ;
@@ -461,7 +488,7 @@ suite('decorators', () => {
461
488
} ) ;
462
489
463
490
suite ( '@queryAsync' , ( ) => {
464
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
491
+ @customElement ( generateElementName ( ) )
465
492
class C extends LitElement {
466
493
@queryAsync ( '#blah' ) blah ! : Promise < HTMLDivElement > ;
467
494
@@ -504,7 +531,7 @@ suite('decorators', () => {
504
531
if ( ! supportsOptions ) {
505
532
this . skip ( ) ;
506
533
}
507
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
534
+ @customElement ( generateElementName ( ) )
508
535
class C extends LitElement {
509
536
eventPhase ?: number ;
510
537
@@ -532,7 +559,7 @@ suite('decorators', () => {
532
559
if ( ! supportsOptions ) {
533
560
this . skip ( ) ;
534
561
}
535
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
562
+ @customElement ( generateElementName ( ) )
536
563
class C extends LitElement {
537
564
clicked = 0 ;
538
565
@@ -561,7 +588,7 @@ suite('decorators', () => {
561
588
if ( ! supportsPassive ) {
562
589
this . skip ( ) ;
563
590
}
564
- @customElement ( generateElementName ( ) as keyof HTMLElementTagNameMap )
591
+ @customElement ( generateElementName ( ) )
565
592
class C extends LitElement {
566
593
defaultPrevented ?: boolean ;
567
594
0 commit comments