From 75767705c719a8b1a52b09985dff36a708e8ad9d Mon Sep 17 00:00:00 2001 From: Pete Johns Date: Tue, 18 Jan 2011 21:50:22 +1100 Subject: [PATCH] Added testDoesNotIdentifyCallback for #2480 TODO --- test/testunusedprivfunc.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index d3474daa0..2257644e7 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -60,6 +60,7 @@ private: // #2407 - FP when called from operator() TEST_CASE(fp_operator); + TEST_CASE(testDoesNotIdentifyCallback); // #2480 } @@ -447,6 +448,35 @@ private: TODO_ASSERT_EQUALS("[test.cpp:8]: (style) Unused private function 'Fred::startListening'\n", errout.str()); ASSERT_EQUALS("", errout.str()); } + + void testDoesNotIdentifyCallback() + { + check("#include " + "void callback(void (*func)(int), int arg)" + "{" + " (*func)(arg);" + "}" + "class MountOperation" + "{" + " static void Completed(int i);" + "public:" + " MountOperation(int i);" + "};" + "void MountOperation::Completed(int i)" + "{" + " std::cerr << i << std::endl;" + "}" + "MountOperation::MountOperation(int i)" + "{" + " callback(MountOperation::Completed, i);" + "}" + "int main(void)" + "{" + " MountOperation aExample(10);" + "}" + ); + TODO_ASSERT_EQUALS("", errout.str()); + } }; REGISTER_TEST(TestUnusedPrivateFunction)