File indexing completed on 2025-02-02 04:19:50
0001 /* 0002 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "zoomhandler_test.h" 0008 0009 #include <simpletest.h> 0010 #include <QCoreApplication> 0011 0012 #include <WidgetsDebug.h> 0013 0014 #include "KoZoomHandler.h" 0015 #include "KoUnit.h" 0016 0017 0018 void zoomhandler_test::testConstruction() 0019 { 0020 0021 QScopedPointer<KoZoomHandler> zoomHandler(new KoZoomHandler()); 0022 0023 QCOMPARE( zoomHandler->zoomFactorX(), 1. ); 0024 QCOMPARE( zoomHandler->zoomFactorY(), 1. ); 0025 QCOMPARE( ( int )INCH_TO_POINT( zoomHandler->resolutionX() ), ( int )72 ); 0026 QCOMPARE( ( int )INCH_TO_POINT( zoomHandler->resolutionY() ), ( int )72 ); 0027 QCOMPARE( ( int )INCH_TO_POINT( zoomHandler->zoomedResolutionX() ), ( int )72 ); 0028 QCOMPARE( ( int )INCH_TO_POINT( zoomHandler->zoomedResolutionY() ), ( int )72 ); 0029 QCOMPARE( zoomHandler->zoomMode(), KoZoomMode::ZOOM_CONSTANT ); 0030 QCOMPARE( zoomHandler->zoomInPercent(), 100 ); 0031 } 0032 0033 void zoomhandler_test::testApi() 0034 { 0035 KoZoomHandler zoomHandler; 0036 qreal x, y; 0037 0038 zoomHandler.setResolution( 128, 129 ); 0039 QCOMPARE( zoomHandler.resolutionX(), 128. ); 0040 QCOMPARE( zoomHandler.resolutionY(), 129. ); 0041 0042 zoomHandler.setZoomedResolution( 50, 60 ); 0043 QCOMPARE( zoomHandler.zoomedResolutionX(), 50.); 0044 QCOMPARE( zoomHandler.zoomedResolutionY(), 60.); 0045 0046 zoomHandler.setZoom( 0.2 ); // is 20% 0047 QCOMPARE( zoomHandler.zoomInPercent(), 20); 0048 QCOMPARE( zoomHandler.resolutionX(), 128. ); 0049 QCOMPARE( zoomHandler.resolutionY(), 129. ); 0050 QCOMPARE( zoomHandler.zoomedResolutionX(), 25.6 ); 0051 QCOMPARE( zoomHandler.zoomedResolutionY(), 25.8 ); 0052 zoomHandler.zoom( &x, &y ); 0053 QVERIFY( x == 25.6 && y == 25.8 ); 0054 0055 zoomHandler.setZoom( 1. ); 0056 zoomHandler.setZoom( 0.2 ); 0057 QCOMPARE( zoomHandler.zoomInPercent(), 20 ); 0058 QCOMPARE( zoomHandler.resolutionX(), 128. ); 0059 QCOMPARE( zoomHandler.resolutionY(), 129. ); 0060 QCOMPARE( zoomHandler.zoomedResolutionX(), 25.6 ); 0061 QCOMPARE( zoomHandler.zoomedResolutionY(), 25.8 ); 0062 zoomHandler.zoom( &x, &y ); 0063 QVERIFY( x == 25.6 && y == 25.8 ); 0064 0065 zoomHandler.setZoomMode( KoZoomMode::ZOOM_CONSTANT ); 0066 QCOMPARE( zoomHandler.zoomMode(), KoZoomMode::ZOOM_CONSTANT ); 0067 zoomHandler.setZoomMode( KoZoomMode::ZOOM_PAGE ); 0068 QCOMPARE( zoomHandler.zoomMode(), KoZoomMode::ZOOM_PAGE ); 0069 0070 } 0071 0072 void zoomhandler_test::testViewToDocument() 0073 { 0074 KoZoomHandler zoomHandler; 0075 zoomHandler.setZoom( 1.0 ); 0076 zoomHandler.setDpi( 100, 100 ); 0077 0078 QCOMPARE( zoomHandler.viewToDocument( QPointF( 0, 0 ) ), QPointF( 0, 0 ) ); 0079 // 100 view pixels are 72 postscript points at 100% zoom, 100ppi. 0080 QCOMPARE( zoomHandler.viewToDocument( QRectF( 0, 0, 100, 100 ) ), QRectF( 0, 0, 72, 72 ) ); 0081 QCOMPARE( zoomHandler.viewToDocumentX( 0 ), 0. ); 0082 QCOMPARE( zoomHandler.viewToDocumentY( 0 ), 0. ); 0083 0084 } 0085 0086 void zoomhandler_test::testDocumentToView() 0087 { 0088 KoZoomHandler zoomHandler; 0089 zoomHandler.setZoom( 1.0 ); 0090 zoomHandler.setDpi( 100, 100 ); 0091 0092 QCOMPARE( zoomHandler.documentToView( QPointF( 0,0 ) ), QPointF( 0, 0 ) ); 0093 QCOMPARE( zoomHandler.documentToView( QRectF( 0, 0, 72, 72 ) ), QRectF( 0, 0, 100, 100) ); 0094 QCOMPARE( zoomHandler.documentToViewX( 72 ), 100. ); 0095 QCOMPARE( zoomHandler.documentToViewY( 72 ), 100. ); 0096 0097 } 0098 0099 0100 QTEST_APPLESS_MAIN(zoomhandler_test)