Skip to content

Commit dfdadb1

Browse files
committed
test(range): improve comments & consistency in spec test
1 parent d91a7e7 commit dfdadb1

1 file changed

Lines changed: 51 additions & 15 deletions

File tree

core/src/components/range/test/range.spec.ts

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,8 @@ describe('range: css classes', () => {
386386
});
387387

388388
const range = page.body.querySelector('ion-range')!;
389+
390+
// Simulate a pressed knob A by setting state on component instance
389391
const component = page.rootInstance;
390392
component.pressedKnob = 'A';
391393

@@ -405,12 +407,16 @@ describe('range: css classes', () => {
405407
});
406408

407409
const range = page.body.querySelector('ion-range')!;
410+
411+
// Simulate a pressed knob A by setting state on component instance
408412
const component = page.rootInstance;
409413
component.pressedKnob = 'A';
414+
410415
component.ratioA = 0.5;
411416
component.ratioB = 0.8;
412417

413418
await page.waitForChanges();
419+
414420
expect(range.classList.contains('range-pressed-lower')).toBe(true);
415421
});
416422

@@ -421,12 +427,16 @@ describe('range: css classes', () => {
421427
});
422428

423429
const range = page.body.querySelector('ion-range')!;
430+
431+
// Simulate a pressed knob B by setting state on component instance
424432
const component = page.rootInstance;
425433
component.pressedKnob = 'B';
434+
426435
component.ratioA = 0.5;
427436
component.ratioB = 0.8;
428437

429438
await page.waitForChanges();
439+
430440
expect(range.classList.contains('range-pressed-upper')).toBe(true);
431441
});
432442

@@ -437,10 +447,13 @@ describe('range: css classes', () => {
437447
});
438448

439449
const range = page.body.querySelector('ion-range')!;
450+
451+
// Simulate a pressed knob A by setting state on component instance
440452
const component = page.rootInstance;
441453
component.pressedKnob = 'A';
442454

443455
await page.waitForChanges();
456+
444457
expect(range.classList.contains('range-pressed-a')).toBe(true);
445458
});
446459

@@ -451,10 +464,13 @@ describe('range: css classes', () => {
451464
});
452465

453466
const range = page.body.querySelector('ion-range')!;
467+
468+
// Simulate a pressed knob B by setting state on component instance
454469
const component = page.rootInstance;
455470
component.pressedKnob = 'B';
456471

457472
await page.waitForChanges();
473+
458474
expect(range.classList.contains('range-pressed-b')).toBe(true);
459475
});
460476
});
@@ -580,13 +596,15 @@ describe('range: shadow parts', () => {
580596
// Simulate a pressed knob by setting state on component instance
581597
const component = page.rootInstance;
582598
component.pressedKnob = 'A';
599+
583600
await page.waitForChanges();
584601

585602
// The pressed part should exist on the knob when pressed
586603
expect(shadowRoot.querySelector('[part~="knob"][part~="pressed"]')).not.toBeNull();
587604

588605
// Clear the pressed knob
589606
component.pressedKnob = undefined;
607+
590608
await page.waitForChanges();
591609

592610
// The pressed part should not exist after clearing the pressed knob
@@ -607,6 +625,7 @@ describe('range: shadow parts', () => {
607625
// Focus the knob handle
608626
const knobHandle = shadowRoot.querySelector('.range-knob-handle') as HTMLElement;
609627
knobHandle.focus();
628+
610629
await page.waitForChanges();
611630

612631
// The focused part should exist on the knob when focused
@@ -615,6 +634,7 @@ describe('range: shadow parts', () => {
615634
// Blur the knob handle
616635
knobHandle.blur();
617636
await waitForEvent(range, 'ionBlur');
637+
618638
await page.waitForChanges();
619639

620640
// The focused part should not exist after blur
@@ -628,20 +648,22 @@ describe('range: shadow parts', () => {
628648
});
629649
const range = page.body.querySelector('ion-range')!;
630650
const shadowRoot = range.shadowRoot!;
631-
const component = page.rootInstance;
632651

633652
// The activated part should not exist on the knob by default
634653
expect(shadowRoot.querySelector('[part~="knob"][part~="activated"]')).toBeNull();
635654

636655
// Simulate an activated knob by setting state on component instance
637-
(component as any).activatedKnob = 'A';
656+
const component = page.rootInstance;
657+
component.activatedKnob = 'A';
658+
638659
await page.waitForChanges();
639660

640661
// The activated part should exist on the knob when activated
641662
expect(shadowRoot.querySelector('[part~="knob"][part~="activated"]')).not.toBeNull();
642663

643664
// Clear the activated knob
644-
(component as any).activatedKnob = undefined;
665+
component.activatedKnob = undefined;
666+
645667
await page.waitForChanges();
646668

647669
// The activated part should not exist after clearing the activated knob
@@ -655,20 +677,22 @@ describe('range: shadow parts', () => {
655677
});
656678
const range = page.body.querySelector('ion-range')!;
657679
const shadowRoot = range.shadowRoot!;
658-
const component = page.rootInstance;
659680

660681
// The hover part should not exist on the knob by default
661682
expect(shadowRoot.querySelector('[part~="knob"][part~="hover"]')).toBeNull();
662683

663684
// Simulate a hovered knob by setting state on component instance
664-
(component as any).hoveredKnob = 'A';
685+
const component = page.rootInstance;
686+
component.hoveredKnob = 'A';
687+
665688
await page.waitForChanges();
666689

667690
// The hover part should exist on the knob when hovered
668691
expect(shadowRoot.querySelector('[part~="knob"][part~="hover"]')).not.toBeNull();
669692

670693
// Clear the hovered knob
671-
(component as any).hoveredKnob = undefined;
694+
component.hoveredKnob = undefined;
695+
672696
await page.waitForChanges();
673697

674698
// The hover part should not exist after clearing the hovered knob
@@ -682,14 +706,15 @@ describe('range: shadow parts', () => {
682706
});
683707
const range = page.body.querySelector('ion-range')!;
684708
const shadowRoot = range.shadowRoot!;
685-
const component = page.rootInstance;
686709

687710
// The pressed part should not exist on either knob by default
688711
expect(shadowRoot.querySelector('[part~="knob-a"][part~="pressed"]')).toBeNull();
689712
expect(shadowRoot.querySelector('[part~="knob-b"][part~="pressed"]')).toBeNull();
690713

691714
// Simulate a pressed knob A by setting state on component instance
715+
const component = page.rootInstance;
692716
component.pressedKnob = 'A';
717+
693718
await page.waitForChanges();
694719

695720
// The pressed part should exist on knob A only
@@ -698,6 +723,7 @@ describe('range: shadow parts', () => {
698723

699724
// Simulate a pressed knob B by setting state on component instance
700725
component.pressedKnob = 'B';
726+
701727
await page.waitForChanges();
702728

703729
// The pressed part should now exist on knob B only
@@ -706,6 +732,7 @@ describe('range: shadow parts', () => {
706732

707733
// Clear the pressed knob
708734
component.pressedKnob = undefined;
735+
709736
await page.waitForChanges();
710737

711738
// The pressed part should not exist after clearing the pressed knob
@@ -728,6 +755,7 @@ describe('range: shadow parts', () => {
728755
// Focus knob handle A
729756
const knobHandleA = shadowRoot.querySelector('.range-knob-handle-a') as HTMLElement;
730757
knobHandleA.focus();
758+
731759
await page.waitForChanges();
732760

733761
// The focused part should exist on knob A only
@@ -737,6 +765,7 @@ describe('range: shadow parts', () => {
737765
// Focus knob handle B
738766
const knobHandleB = shadowRoot.querySelector('.range-knob-handle-b') as HTMLElement;
739767
knobHandleB.focus();
768+
740769
await page.waitForChanges();
741770

742771
// The focused part should now exist on knob B only
@@ -746,6 +775,7 @@ describe('range: shadow parts', () => {
746775
// Blur knob handle B
747776
knobHandleB.blur();
748777
await waitForEvent(range, 'ionBlur');
778+
749779
await page.waitForChanges();
750780

751781
// The focused part should not exist after blurring the knob handle
@@ -760,30 +790,33 @@ describe('range: shadow parts', () => {
760790
});
761791
const range = page.body.querySelector('ion-range')!;
762792
const shadowRoot = range.shadowRoot!;
763-
const component = page.rootInstance;
764793

765794
// The activated part should not exist on either knob by default
766795
expect(shadowRoot.querySelector('[part~="knob-a"][part~="activated"]')).toBeNull();
767796
expect(shadowRoot.querySelector('[part~="knob-b"][part~="activated"]')).toBeNull();
768797

769798
// Simulate an activated knob A by setting state on component instance
770-
(component as any).activatedKnob = 'A';
799+
const component = page.rootInstance;
800+
component.activatedKnob = 'A';
801+
771802
await page.waitForChanges();
772803

773804
// The activated part should exist on knob A only
774805
expect(shadowRoot.querySelector('[part~="knob-a"][part~="activated"]')).not.toBeNull();
775806
expect(shadowRoot.querySelector('[part~="knob-b"][part~="activated"]')).toBeNull();
776807

777808
// Simulate an activated knob B by setting state on component instance
778-
(component as any).activatedKnob = 'B';
809+
component.activatedKnob = 'B';
810+
779811
await page.waitForChanges();
780812

781813
// The activated part should now exist on knob B only
782814
expect(shadowRoot.querySelector('[part~="knob-a"][part~="activated"]')).toBeNull();
783815
expect(shadowRoot.querySelector('[part~="knob-b"][part~="activated"]')).not.toBeNull();
784816

785817
// Clear the activated knob
786-
(component as any).activatedKnob = undefined;
818+
component.activatedKnob = undefined;
819+
787820
await page.waitForChanges();
788821

789822
// The activated part should not exist after clearing the activated knob
@@ -798,30 +831,33 @@ describe('range: shadow parts', () => {
798831
});
799832
const range = page.body.querySelector('ion-range')!;
800833
const shadowRoot = range.shadowRoot!;
801-
const component = page.rootInstance;
802834

803835
// The hover part should not exist on either knob by default
804836
expect(shadowRoot.querySelector('[part~="knob-a"][part~="hover"]')).toBeNull();
805837
expect(shadowRoot.querySelector('[part~="knob-b"][part~="hover"]')).toBeNull();
806838

807839
// Simulate a hovered knob A by setting state on component instance
808-
(component as any).hoveredKnob = 'A';
840+
const component = page.rootInstance;
841+
component.hoveredKnob = 'A';
842+
809843
await page.waitForChanges();
810844

811845
// The hover part should exist on knob A only
812846
expect(shadowRoot.querySelector('[part~="knob-a"][part~="hover"]')).not.toBeNull();
813847
expect(shadowRoot.querySelector('[part~="knob-b"][part~="hover"]')).toBeNull();
814848

815849
// Simulate a hovered knob B by setting state on component instance
816-
(component as any).hoveredKnob = 'B';
850+
component.hoveredKnob = 'B';
851+
817852
await page.waitForChanges();
818853

819854
// The hover part should now exist on knob B only
820855
expect(shadowRoot.querySelector('[part~="knob-a"][part~="hover"]')).toBeNull();
821856
expect(shadowRoot.querySelector('[part~="knob-b"][part~="hover"]')).not.toBeNull();
822857

823858
// Clear the hovered knob
824-
(component as any).hoveredKnob = undefined;
859+
component.hoveredKnob = undefined;
860+
825861
await page.waitForChanges();
826862

827863
// The hover part should not exist after clearing the hovered knob

0 commit comments

Comments
 (0)