11import { CollisionHandler , CombinedAlignment , position } from '../src/index' ;
2- // @ts -ignore
32import { allData , Helper , SizeData } from './Helpers' ;
43
54const windowSize : SizeData = {
@@ -25,79 +24,83 @@ const windowSize: SizeData = {
2524 'bottom center' ,
2625 'bottom right' ,
2726 ] ,
28- helper = new Helper ( CollisionHandler . ignore , anchorSize , targetSize ) ;
27+ helper = new Helper ( CollisionHandler . ignore , anchorSize , targetSize ) ,
28+ collisionHandler : ( input : number ) => number = ( input ) => input + 50 ;
2929
3030helper . setupEnvironment ( windowSize ) ;
3131
3232describe ( 'HoverPosition (collisions ignored)' , ( ) => {
33- // Add base style
34-
3533 describe . each ( positionArray ) ( 'Target Position: %s' , ( tP ) => {
36- describe . each ( positionArray ) ( 'options.my: %s' , ( myAlignment ) => {
37- test . each ( positionArray ) ( 'options.at: %s' , ( atAlignment ) => {
34+ describe . each ( positionArray ) ( 'options.my: %s' , ( myPlacement ) => {
35+ test . each ( positionArray ) ( 'options.at: %s' , ( atPlacement ) => {
3836 helper . setupTest ( tP ) ;
3937
4038 const pData = position ( {
4139 ...{ debug : true } ,
4240 ...{
43- my : myAlignment ,
44- at : atAlignment ,
41+ my : myPlacement ,
42+ at : atPlacement ,
4543 target : document . querySelector < HTMLDivElement > (
4644 '.target' ,
4745 ) ! ,
4846 anchor : document . querySelector < HTMLElement > ( '.anchor' ) ! ,
4947 collision : CollisionHandler . ignore ,
5048 } ,
5149 } ) as allData ;
52- /*
53- console.log(
54- `${tP}|${myAlignment}|${atAlignment}`,
55- pData,
56- );
57- */
50+
5851 expect ( {
5952 left : parseInt ( pData . left , 10 ) ,
6053 top : parseInt ( pData . top , 10 ) ,
6154 } ) . toStrictEqual ( {
62- left : helper . getLeft ( tP , myAlignment , atAlignment ) ,
63- top : helper . getTop ( tP , myAlignment , atAlignment ) ,
55+ left : helper . getLeft ( tP , myPlacement , atPlacement ) ,
56+ top : helper . getTop ( tP , myPlacement , atPlacement ) ,
6457 } ) ;
6558 } ) ;
6659 } ) ;
6760 } ) ;
6861} ) ;
6962
7063test ( 'Window scroll adjusts output' , ( ) => {
64+ // Set the window scroll position
7165 window . scrollX = 50 ;
7266 window . scrollY = 50 ;
73-
74- const tP = 'top left' ,
75- myA = 'top center' ,
76- atA = 'bottom center' ;
77-
78- helper . setupTest ( tP ) ;
67+
68+ const targetWindowPosition = 'top left' ,
69+ myPlacement = 'top center' ,
70+ atPlacement = 'bottom center' ;
71+
72+ helper . setupTest ( targetWindowPosition ) ;
7973
8074 const pData = position ( {
8175 ...{ debug : true } ,
8276 ...{
83- my : myA ,
84- at : atA ,
85- target : document . querySelector < HTMLDivElement > (
86- '.target' ,
87- ) ! ,
77+ my : myPlacement ,
78+ at : atPlacement ,
79+ target : document . querySelector < HTMLDivElement > ( '.target' ) ! ,
8880 anchor : document . querySelector < HTMLElement > ( '.anchor' ) ! ,
8981 collision : CollisionHandler . ignore ,
9082 } ,
9183 } ) as allData ;
92-
84+
9385 expect ( {
9486 left : parseInt ( pData . left , 10 ) ,
9587 top : parseInt ( pData . top , 10 ) ,
9688 } ) . toStrictEqual ( {
97- left : helper . getLeft ( tP , myA , atA ) + 50 ,
98- top : helper . getTop ( tP , myA , atA ) + 50 ,
89+ left : helper . getLeft (
90+ targetWindowPosition ,
91+ myPlacement ,
92+ atPlacement ,
93+ collisionHandler ,
94+ ) ,
95+ top : helper . getTop (
96+ targetWindowPosition ,
97+ myPlacement ,
98+ atPlacement ,
99+ collisionHandler ,
100+ ) ,
99101 } ) ;
100-
101- window . scrollX = 50 ;
102- window . scrollY = 50 ;
102+
103+ // Reset the window scroll position
104+ window . scrollX = 0 ;
105+ window . scrollY = 0 ;
103106} ) ;
0 commit comments