1- import { zoomLevelToPercentage , zoomPercentageToLevel } from './zoom' ;
1+ import type { Percentage } from '../types' ;
2+ import {
3+ canDecreaseZoom ,
4+ canIncreaseZoom ,
5+ zoomLevelToPercentage ,
6+ zoomPercentageToLevel ,
7+ } from './zoom' ;
28
39describe ( 'renderer/utils/zoom.ts' , ( ) => {
410 it ( 'should convert percentage to zoom level' , ( ) => {
5- expect ( zoomPercentageToLevel ( 100 ) ) . toBe ( 0 ) ;
6- expect ( zoomPercentageToLevel ( 50 ) ) . toBe ( - 1 ) ;
7- expect ( zoomPercentageToLevel ( 0 ) ) . toBe ( - 2 ) ;
8- expect ( zoomPercentageToLevel ( 150 ) ) . toBe ( 1 ) ;
11+ expect ( zoomPercentageToLevel ( 100 as Percentage ) ) . toBe ( 0 ) ;
12+ expect ( zoomPercentageToLevel ( 50 as Percentage ) ) . toBe ( - 1 ) ;
13+ expect ( zoomPercentageToLevel ( 0 as Percentage ) ) . toBe ( - 2 ) ;
14+ expect ( zoomPercentageToLevel ( 150 as Percentage ) ) . toBe ( 1 ) ;
915
10- expect ( zoomPercentageToLevel ( undefined ) ) . toBe ( 0 ) ;
16+ expect ( zoomPercentageToLevel ( undefined as unknown as Percentage ) ) . toBe ( 0 ) ;
1117 } ) ;
1218
1319 it ( 'should convert zoom level to percentage' , ( ) => {
@@ -18,4 +24,17 @@ describe('renderer/utils/zoom.ts', () => {
1824
1925 expect ( zoomLevelToPercentage ( undefined ) ) . toBe ( 100 ) ;
2026 } ) ;
27+
28+ it ( 'can decrease zoom percentage' , ( ) => {
29+ expect ( canDecreaseZoom ( - 10 as Percentage ) ) . toBe ( false ) ;
30+ expect ( canDecreaseZoom ( 0 as Percentage ) ) . toBe ( false ) ;
31+ expect ( canDecreaseZoom ( 10 as Percentage ) ) . toBe ( true ) ;
32+ } ) ;
33+
34+ it ( 'can increase zoom percentage' , ( ) => {
35+ expect ( canIncreaseZoom ( 10 as Percentage ) ) . toBe ( true ) ;
36+ expect ( canIncreaseZoom ( 110 as Percentage ) ) . toBe ( true ) ;
37+ expect ( canIncreaseZoom ( 120 as Percentage ) ) . toBe ( false ) ;
38+ expect ( canIncreaseZoom ( 150 as Percentage ) ) . toBe ( false ) ;
39+ } ) ;
2140} ) ;
0 commit comments