diff options
Diffstat (limited to 'tests/auto/symbian')
-rw-r--r-- | tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp b/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp index af065ae..f29e12a 100644 --- a/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp +++ b/tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp @@ -163,6 +163,7 @@ private slots: void leave(); void testTranslateBadAlloc(); void testTranslateBigAlloc(); + void testExceptionFromAO(); void testRoundTrip(); void testTrap(); void testPropagation(); @@ -327,6 +328,15 @@ void tst_qmainexceptions::testTranslateBigAlloc() TestSchedulerCatchesError(&TranslateBigAllocL, KErrNoMemory); } +void tst_qmainexceptions::testExceptionFromAO() +{ + CTestActive *act = new(ELeave) CTestActive(&ThrowBadAlloc, true); + act->Test(); + QCOMPARE(act->error, KErrNoMemory); + QVERIFY(act->cleanedUp); + delete act; +} + void tst_qmainexceptions::TestSymbianRoundTrip(int leave, int trap) { // check that leave converted to exception, converted to error gives expected error code |