From 1a0a1289871d26e1a220fc8584527eccfe4f121b 2009-05-24 09:30:23 From: florianlink Date: 2009-05-24 09:30:23 Subject: [PATCH] improved tests, enum/int overload now fails as expected, this will be fixed when enum type detection works correctly git-svn-id: svn://svn.code.sf.net/p/pythonqt/code/trunk@89 ea8d5007-eb21-0410-b261-ccb3ea6e24a9 --- diff --git a/tests/PythonQtTests.cpp b/tests/PythonQtTests.cpp index 49971e2..94e9e21 100644 --- a/tests/PythonQtTests.cpp +++ b/tests/PythonQtTests.cpp @@ -246,17 +246,33 @@ void PythonQtTestSlotCalling::testCppFactory() QVERIFY(_helper->runScript("obj.testNoArg()\nfrom PythonQt import PQCppObjectNoWrap\na = PQCppObjectNoWrap(PQCppObjectNoWrap())\nprint a.getH()\nif a.getH()==1: obj.setPassed();\n")); // test decorated enums - PythonQt::self()->registerCPPClass("PQCppObject2",NULL,NULL, PythonQtCreateObject); + // already registered by signals test + //PythonQt::self()->registerCPPClass("PQCppObject2",NULL,NULL, PythonQtCreateObject); + // local enum (decorated) + QVERIFY(_helper->runScript("obj.testNoArg()\nfrom PythonQt import PQCppObject2\na = PQCppObject2()\nprint a.testEnumFlag1\nif a.testEnumFlag1(PQCppObject2.TestEnumValue2)==PQCppObject2.TestEnumValue2: obj.setPassed();\n")); // enum with namespace (decorated) QVERIFY(_helper->runScript("obj.testNoArg()\nfrom PythonQt import PQCppObject2\na = PQCppObject2()\nif a.testEnumFlag2(PQCppObject2.TestEnumValue2)==PQCppObject2.TestEnumValue2: obj.setPassed();\n")); - // local enum (decorated) - QVERIFY(_helper->runScript("obj.testNoArg()\nfrom PythonQt import PQCppObject2\na = PQCppObject2()\nif a.testEnumFlag1(PQCppObject2.TestEnumValue2)==PQCppObject2.TestEnumValue2: obj.setPassed();\n")); // with int overload to check overloading QVERIFY(_helper->runScript("obj.testNoArg()\nfrom PythonQt import PQCppObject2\na = PQCppObject2()\nif a.testEnumFlag3(PQCppObject2.TestEnumValue2)==PQCppObject2.TestEnumValue2: obj.setPassed();\n")); } +PQCppObject2Decorator::TestEnumFlag PQCppObject2Decorator::testEnumFlag1(PQCppObject2* obj, PQCppObject2Decorator::TestEnumFlag flag) { + return flag; +} + +PQCppObject2::TestEnumFlag PQCppObject2Decorator::testEnumFlag2(PQCppObject2* obj, PQCppObject2::TestEnumFlag flag) { + return flag; +} + +// with int overload +PQCppObject2Decorator::TestEnumFlag PQCppObject2Decorator::testEnumFlag3(PQCppObject2* obj, int flag) { + return (TestEnumFlag)-1; +} +PQCppObject2Decorator::TestEnumFlag PQCppObject2Decorator::testEnumFlag3(PQCppObject2* obj, PQCppObject2Decorator::TestEnumFlag flag) { + return flag; +} void PythonQtTestSlotCalling::testMultiArgsSlotCall() { diff --git a/tests/PythonQtTests.h b/tests/PythonQtTests.h index ab0f833..dc0b4ce 100644 --- a/tests/PythonQtTests.h +++ b/tests/PythonQtTests.h @@ -273,14 +273,14 @@ public: return new PQCppObject2(); } - TestEnumFlag testEnumFlag1(PQCppObject2* obj, TestEnumFlag flag) { return flag; } + TestEnumFlag testEnumFlag1(PQCppObject2* obj, TestEnumFlag flag); - PQCppObject2::TestEnumFlag testEnumFlag2(PQCppObject2* obj, PQCppObject2::TestEnumFlag flag) { return flag; } - + PQCppObject2::TestEnumFlag testEnumFlag2(PQCppObject2* obj, PQCppObject2::TestEnumFlag flag); + // with int overload - TestEnumFlag testEnumFlag3(PQCppObject2* obj, int flag) { return (TestEnumFlag)-1; } - TestEnumFlag testEnumFlag3(PQCppObject2* obj, TestEnumFlag flag) { return flag; } - + TestEnumFlag testEnumFlag3(PQCppObject2* obj, int flag); + TestEnumFlag testEnumFlag3(PQCppObject2* obj, TestEnumFlag flag); + }; class PQUnknownValueObject