From 6e23885eae3047790d6ce0663f3c25d2e998906b Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 19 Nov 2013 10:59:21 +0200 Subject: [PATCH] CppEditor: Add a failing test for virtual overrides When function has a different return type Change-Id: I1178e7e2c6b7e074a3737aaef597ebeff8d776dc Reviewed-by: Nikolai Kosjar --- .../cppeditor/followsymbol_switchmethoddecldef_test.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp index dde4fb11c8b..08f732b2afd 100644 --- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp +++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp @@ -458,6 +458,7 @@ void TestCase::run() expectedImmediate << OverrideItem(QLatin1String("...searching overrides")); } QCOMPARE(immediateVirtualSymbolResults, expectedImmediate); + QEXPECT_FAIL("differentReturnTypes", "Doesn't work", Abort); QCOMPARE(finalVirtualSymbolResults, m_expectedVirtualFunctionProposal); } @@ -1304,6 +1305,14 @@ void CppEditorPlugin::test_FollowSymbolUnderCursor_virtualFunctionCall_data() "\n" "void client(B b) { b.@virt(); }\n") << OverrideItemList(); + + QTest::newRow("differentReturnTypes") << _( + "struct Base { virtual Base *virt() { return this; } };\n" + "struct Derived : public Base { Derived *virt() { return this; } };\n" + "void client(Base *b) { b->$@virt(); }\n") + << (OverrideItemList() + << OverrideItem(QLatin1String("Base::virt"), 1) + << OverrideItem(QLatin1String("Derived::virt"), 2)); } void CppEditorPlugin::test_FollowSymbolUnderCursor_virtualFunctionCall()