debugger: add manual test for pointer-to-derived case in QVector

Change-Id: I51db82d982351cdcf8ef64ba00521cb4d260bd45
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
hjk
2012-06-28 14:04:11 +02:00
parent 9393d18fdb
commit bb31b2572f

View File

@@ -365,6 +365,13 @@ private:
QHash<QObject *, Map::iterator> h; QHash<QObject *, Map::iterator> h;
}; };
class Fooooo : public Foo
{
public:
Fooooo(int x) : Foo(x), a(x + 2) {}
int a;
};
class X : virtual public Foo { public: X() { } }; class X : virtual public Foo { public: X() { } };
class XX : virtual public Foo { public: XX() { } }; class XX : virtual public Foo { public: XX() { } };
@@ -4144,16 +4151,19 @@ namespace qvector {
vec.append(new Foo(1)); vec.append(new Foo(1));
vec.append(0); vec.append(0);
vec.append(new Foo(2)); vec.append(new Foo(2));
vec.append(new Fooooo(3));
// switch "Auto derefencing pointers" in Locals context menu // switch "Auto derefencing pointers" in Locals context menu
// off and on again, and check result looks sane. // off and on again, and check result looks sane.
BREAK_HERE; BREAK_HERE;
// Expand vec vec.0 vec.2. // Expand vec vec.0 vec.2.
// Check vec <3 items> QVector<Foo*>. // Check vec <4 items> QVector<Foo*>.
// CheckType vec.0 Foo. // CheckType vec.0 Foo.
// Check vec.0.a 1 int. // Check vec.0.a 1 int.
// Check vec.1 0x0 Foo *. // Check vec.1 0x0 Foo *.
// CheckType vec.2 Foo. // CheckType vec.2 Foo.
// Check vec.2.a 2 int. // Check vec.2.a 2 int.
// CheckType vec.3 Fooooo.
// Check vec.3.a 5 int.
// Continue. // Continue.
dummyStatement(&vec); dummyStatement(&vec);
} }