1+ import {
2+ ABOVE_CENTER_ANCHOR ,
3+ ABOVE_INNER_LEFT_ANCHOR ,
4+ ABOVE_INNER_RIGHT_ANCHOR ,
5+ ABOVE_LEFT_ANCHOR ,
6+ ABOVE_RIGHT_ANCHOR ,
7+ BELOW_CENTER_ANCHOR ,
8+ BELOW_INNER_LEFT_ANCHOR ,
9+ BELOW_INNER_RIGHT_ANCHOR ,
10+ BELOW_LEFT_ANCHOR ,
11+ BELOW_RIGHT_ANCHOR ,
12+ BOTTOM_CENTER_ANCHOR ,
13+ BOTTOM_INNER_LEFT_ANCHOR ,
14+ BOTTOM_INNER_RIGHT_ANCHOR ,
15+ BOTTOM_LEFT_ANCHOR ,
16+ BOTTOM_RIGHT_ANCHOR ,
17+ CENTER_CENTER_ANCHOR ,
18+ CENTER_INNER_LEFT_ANCHOR ,
19+ CENTER_INNER_RIGHT_ANCHOR ,
20+ CENTER_LEFT_ANCHOR ,
21+ CENTER_RIGHT_ANCHOR ,
22+ TOP_CENTER_ANCHOR ,
23+ TOP_INNER_LEFT_ANCHOR ,
24+ TOP_INNER_RIGHT_ANCHOR ,
25+ TOP_LEFT_ANCHOR ,
26+ TOP_RIGHT_ANCHOR ,
27+ } from "../constants" ;
128import { getTransformOrigin } from "../getTransformOrigin" ;
229
330const TOP_LEFT = "0 0" ;
@@ -14,72 +41,59 @@ const BOTTOM_RIGHT = "100% 100%";
1441
1542describe ( "getTransformOrigin" , ( ) => {
1643 it ( 'should position the "right below", "right top", "inner-left below", and "inner-left top" anchors to the top left origin' , ( ) => {
17- expect ( getTransformOrigin ( { x : "right" , y : "below" } ) ) . toBe ( TOP_LEFT ) ;
18- expect ( getTransformOrigin ( { x : "right" , y : "top" } ) ) . toBe ( TOP_LEFT ) ;
19- expect ( getTransformOrigin ( { x : "inner-left" , y : "below" } ) ) . toBe ( TOP_LEFT ) ;
20- expect ( getTransformOrigin ( { x : "inner-left" , y : "top" } ) ) . toBe ( TOP_LEFT ) ;
44+ expect ( getTransformOrigin ( BELOW_RIGHT_ANCHOR ) ) . toBe ( TOP_LEFT ) ;
45+ expect ( getTransformOrigin ( TOP_RIGHT_ANCHOR ) ) . toBe ( TOP_LEFT ) ;
46+ expect ( getTransformOrigin ( BELOW_INNER_LEFT_ANCHOR ) ) . toBe ( TOP_LEFT ) ;
47+ expect ( getTransformOrigin ( TOP_INNER_LEFT_ANCHOR ) ) . toBe ( TOP_LEFT ) ;
2148 } ) ;
2249
2350 it ( 'should position the "center below" and "center top" anchors to the top center origin ("50% 0")' , ( ) => {
24- expect ( getTransformOrigin ( { x : "center" , y : "below" } ) ) . toBe ( TOP_CENTER ) ;
25- expect ( getTransformOrigin ( { x : "center" , y : "top" } ) ) . toBe ( TOP_CENTER ) ;
51+ expect ( getTransformOrigin ( BELOW_CENTER_ANCHOR ) ) . toBe ( TOP_CENTER ) ;
52+ expect ( getTransformOrigin ( TOP_CENTER_ANCHOR ) ) . toBe ( TOP_CENTER ) ;
2653 } ) ;
2754
2855 it ( 'should position the "inner-right below", "inner-right top", "left below", and "left top" anchors to the top right origin ("100% 0")' , ( ) => {
29- expect ( getTransformOrigin ( { x : "inner-right" , y : "below" } ) ) . toBe (
30- TOP_RIGHT
31- ) ;
32- expect ( getTransformOrigin ( { x : "inner-right" , y : "top" } ) ) . toBe ( TOP_RIGHT ) ;
33- expect ( getTransformOrigin ( { x : "left" , y : "below" } ) ) . toBe ( TOP_RIGHT ) ;
34- expect ( getTransformOrigin ( { x : "left" , y : "top" } ) ) . toBe ( TOP_RIGHT ) ;
56+ expect ( getTransformOrigin ( BELOW_INNER_RIGHT_ANCHOR ) ) . toBe ( TOP_RIGHT ) ;
57+ expect ( getTransformOrigin ( TOP_INNER_RIGHT_ANCHOR ) ) . toBe ( TOP_RIGHT ) ;
58+ expect ( getTransformOrigin ( BELOW_LEFT_ANCHOR ) ) . toBe ( TOP_RIGHT ) ;
59+ expect ( getTransformOrigin ( TOP_LEFT_ANCHOR ) ) . toBe ( TOP_RIGHT ) ;
3560 } ) ;
3661
3762 it ( 'should position the "right center" and "inner-right center" anchors to the center left origin ("0 50%")' , ( ) => {
38- expect ( getTransformOrigin ( { x : "right" , y : "center" } ) ) . toBe ( CENTER_LEFT ) ;
39- expect ( getTransformOrigin ( { x : "inner-left" , y : "center" } ) ) . toBe (
40- CENTER_LEFT
41- ) ;
63+ expect ( getTransformOrigin ( CENTER_RIGHT_ANCHOR ) ) . toBe ( CENTER_LEFT ) ;
64+ expect ( getTransformOrigin ( CENTER_INNER_LEFT_ANCHOR ) ) . toBe ( CENTER_LEFT ) ;
4265 } ) ;
4366
4467 it ( 'should position the "center center" anchor to the absolute center origin ("50% 50%")' , ( ) => {
45- expect ( getTransformOrigin ( { x : "center" , y : "center" } ) ) . toBe (
46- CENTER_CENTER
47- ) ;
68+ expect ( getTransformOrigin ( CENTER_CENTER_ANCHOR ) ) . toBe ( CENTER_CENTER ) ;
4869 } ) ;
4970
5071 it ( 'should position the "inner-right center" and "left center" anchors to the center right origin ("100% 50%")' , ( ) => {
51- expect ( getTransformOrigin ( { x : "inner-right" , y : "center" } ) ) . toBe (
52- CENTER_RIGHT
53- ) ;
54- expect ( getTransformOrigin ( { x : "left" , y : "center" } ) ) . toBe ( CENTER_RIGHT ) ;
72+ expect ( getTransformOrigin ( CENTER_INNER_RIGHT_ANCHOR ) ) . toBe ( CENTER_RIGHT ) ;
73+ expect ( getTransformOrigin ( CENTER_LEFT_ANCHOR ) ) . toBe ( CENTER_RIGHT ) ;
5574 } ) ;
5675
5776 it ( 'should position the "right above", "right bottom", "inner-left above", and "inner-left bottom" anchors to the bottom left origin ("0 100%")' , ( ) => {
58- expect ( getTransformOrigin ( { x : "right" , y : "above" } ) ) . toBe ( BOTTOM_LEFT ) ;
59- expect ( getTransformOrigin ( { x : "right" , y : "bottom" } ) ) . toBe ( BOTTOM_LEFT ) ;
60- expect ( getTransformOrigin ( { x : "inner-left" , y : "above" } ) ) . toBe (
61- BOTTOM_LEFT
62- ) ;
63- expect ( getTransformOrigin ( { x : "inner-left" , y : "bottom" } ) ) . toBe (
64- BOTTOM_LEFT
65- ) ;
77+ expect ( getTransformOrigin ( ABOVE_RIGHT_ANCHOR ) ) . toBe ( BOTTOM_LEFT ) ;
78+ expect ( getTransformOrigin ( BOTTOM_RIGHT_ANCHOR ) ) . toBe ( BOTTOM_LEFT ) ;
79+ expect ( getTransformOrigin ( ABOVE_INNER_LEFT_ANCHOR ) ) . toBe ( BOTTOM_LEFT ) ;
80+ expect ( getTransformOrigin ( BOTTOM_INNER_LEFT_ANCHOR ) ) . toBe ( BOTTOM_LEFT ) ;
6681 } ) ;
6782
6883 it ( 'should position the "center above" and "center bottom" anchors to the bottom center origin ("50% 100%")' , ( ) => {
69- expect ( getTransformOrigin ( { x : "center" , y : "above" } ) ) . toBe ( BOTTOM_CENTER ) ;
70- expect ( getTransformOrigin ( { x : "center" , y : "bottom" } ) ) . toBe (
71- BOTTOM_CENTER
72- ) ;
84+ expect ( getTransformOrigin ( ABOVE_CENTER_ANCHOR ) ) . toBe ( BOTTOM_CENTER ) ;
85+ expect ( getTransformOrigin ( BOTTOM_CENTER_ANCHOR ) ) . toBe ( BOTTOM_CENTER ) ;
7386 } ) ;
7487
7588 it ( 'should position the "inner-right above", "inner-right bottom", "left above", and "left bottom" anchors to the bottom right origin ("100% 100%")' , ( ) => {
76- expect ( getTransformOrigin ( { x : "inner-right" , y : "above" } ) ) . toBe (
77- BOTTOM_RIGHT
78- ) ;
79- expect ( getTransformOrigin ( { x : "inner-right" , y : "bottom" } ) ) . toBe (
80- BOTTOM_RIGHT
81- ) ;
82- expect ( getTransformOrigin ( { x : "left" , y : "above" } ) ) . toBe ( BOTTOM_RIGHT ) ;
83- expect ( getTransformOrigin ( { x : "left" , y : "bottom" } ) ) . toBe ( BOTTOM_RIGHT ) ;
89+ expect ( getTransformOrigin ( ABOVE_INNER_RIGHT_ANCHOR ) ) . toBe ( BOTTOM_RIGHT ) ;
90+ expect ( getTransformOrigin ( BOTTOM_INNER_RIGHT_ANCHOR ) ) . toBe ( BOTTOM_RIGHT ) ;
91+ expect ( getTransformOrigin ( ABOVE_LEFT_ANCHOR ) ) . toBe ( BOTTOM_RIGHT ) ;
92+ expect ( getTransformOrigin ( BOTTOM_LEFT_ANCHOR ) ) . toBe ( BOTTOM_RIGHT ) ;
93+ } ) ;
94+
95+ it ( "should default to 0 0 if an invalid anchor is provided" , ( ) => {
96+ // @ts -expect-error
97+ expect ( getTransformOrigin ( { x : "invalid" , y : "invalid" } ) ) . toBe ( "0 0" ) ;
8498 } ) ;
8599} ) ;
0 commit comments