File indexing completed on 2025-01-26 05:09:26
0001 /* 0002 * This file is part of the KDE wacomtablet project. For copyright 0003 * information and license terms see the AUTHORS and COPYING files 0004 * in the top-level directory of this distribution. 0005 * 0006 * This program is free software; you can redistribute it and/or 0007 * modify it under the terms of the GNU General Public License as 0008 * published by the Free Software Foundation; either version 2 of 0009 * the License, or (at your option) any later version. 0010 * 0011 * This program is distributed in the hope that it will be useful, 0012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0014 * GNU General Public License for more details. 0015 * 0016 * You should have received a copy of the GNU General Public License 0017 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0018 */ 0019 0020 #include "kded/xinputadaptor.h" 0021 #include "kded/xinputproperty.h" 0022 0023 #include "../tabletdependenttest.h" 0024 0025 #include <QtTest> 0026 0027 using namespace Wacom; 0028 0029 /** 0030 * @file testxinputadaptor.cpp 0031 * 0032 * @test UnitTest for ... 0033 */ 0034 class TestXinputAdaptor : public TabletDependentTest 0035 { 0036 Q_OBJECT 0037 0038 protected: 0039 void initTestCaseDependent() override; 0040 0041 private slots: 0042 void testSetProperty(); 0043 }; 0044 0045 QTEST_MAIN(TestXinputAdaptor) 0046 0047 void TestXinputAdaptor::initTestCaseDependent() 0048 { 0049 TabletInformation info = getTabletInformation(); 0050 0051 // check prerequisites 0052 bool isValid = true; 0053 0054 if (info.getDeviceName(DeviceType::Stylus).isEmpty()) { 0055 isValid = false; 0056 } 0057 0058 if (!isValid) { 0059 QSKIP("Can not run test! The currently connected device does not have all prerequisites!", SkipAll); 0060 return; 0061 } 0062 } 0063 0064 void TestXinputAdaptor::testSetProperty() 0065 { 0066 TabletInformation info = getTabletInformation(); 0067 0068 QVERIFY(!info.getDeviceName(DeviceType::Stylus).isEmpty()); 0069 0070 XinputAdaptor adaptor(info.getDeviceName(DeviceType::Stylus)); 0071 0072 QVERIFY(!adaptor.getProperty(Property::CursorAccelProfile).isEmpty()); 0073 QVERIFY(!adaptor.getProperty(Property::CursorAccelAdaptiveDeceleration).isEmpty()); 0074 QVERIFY(!adaptor.getProperty(Property::CursorAccelConstantDeceleration).isEmpty()); 0075 QVERIFY(!adaptor.getProperty(Property::CursorAccelVelocityScaling).isEmpty()); 0076 0077 adaptor.setProperty(Property::CursorAccelProfile, QLatin1String("2")); 0078 adaptor.setProperty(Property::CursorAccelAdaptiveDeceleration, QLatin1String("5.1")); 0079 adaptor.setProperty(Property::CursorAccelConstantDeceleration, QLatin1String("5.2")); 0080 adaptor.setProperty(Property::CursorAccelVelocityScaling, QLatin1String("5.3")); 0081 0082 QCOMPARE(adaptor.getProperty(Property::CursorAccelProfile), QLatin1String("2")); 0083 QCOMPARE(adaptor.getProperty(Property::CursorAccelAdaptiveDeceleration), QLatin1String("5.1")); 0084 QCOMPARE(adaptor.getProperty(Property::CursorAccelConstantDeceleration), QLatin1String("5.2")); 0085 QCOMPARE(adaptor.getProperty(Property::CursorAccelVelocityScaling), QLatin1String("5.3")); 0086 } 0087 0088 #include "testxinputadaptor.moc"