summaryrefslogtreecommitdiff
path: root/test/test29.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-05 19:37:14 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-05 19:37:14 +0300
commit22adecab3bd0a671413f7ba90a24bfb8fdcf2592 (patch)
tree5911f35026530685e418f34f12185f494e7eab83 /test/test29.cpp
parent554ae80d47599c24b79e2653d4250b9b3c5d7519 (diff)
downloadparanucker-22adecab3bd0a671413f7ba90a24bfb8fdcf2592.tar.gz
paranucker-22adecab3bd0a671413f7ba90a24bfb8fdcf2592.tar.bz2
paranucker-22adecab3bd0a671413f7ba90a24bfb8fdcf2592.tar.xz
paranucker-22adecab3bd0a671413f7ba90a24bfb8fdcf2592.zip
Update test 29.
Diffstat (limited to 'test/test29.cpp')
-rw-r--r--test/test29.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/test/test29.cpp b/test/test29.cpp
index b8cd494..f6100fe 100644
--- a/test/test29.cpp
+++ b/test/test29.cpp
@@ -9,6 +9,7 @@ struct Data1
struct Data2 : public Data1
{
+ virtual ~Data2();
};
int k;
@@ -50,7 +51,7 @@ class Object1
paranuckerInternalTest("=", "needCheckNullVars", "");
}
- void func2(Data1 *ptr1, Data2 *ptr2)
+ void func2(Data1 *ptr1, Data1 *ptr2)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
@@ -62,7 +63,7 @@ class Object1
paranuckerInternalTest("=", "knownNonNullVars", "ptr2");
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
- ptr1 = dynamic_cast<Data1*>(ptr2);
+ ptr1 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNullVars", "");
@@ -115,7 +116,7 @@ class Object1
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
}
- void func5(Data1 *ptr1, Data2 *ptr2)
+ void func5(Data1 *ptr1, Data1 *ptr2)
{
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
@@ -127,7 +128,7 @@ class Object1
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr2");
paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
- ptr1 = dynamic_cast<Data1*>(ptr2);
+ ptr1 = ptr2;
paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
paranuckerInternalTest("=", "knownNonNullVars", "");
paranuckerInternalTest("=", "knownNullVars", "ptr1 ptr2");
@@ -441,4 +442,17 @@ class Object1
paranuckerInternalTest("=", "knownNullVars", "");
paranuckerInternalTest("=", "needCheckNullVars", "");
}
+
+ void func17(Data1 *ptr1, const Data2 *const ptr2)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
+ const Data1 *const ptr3 = dynamic_cast<const Data1* const>(ptr2);
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
+ }
};