phoneapp/phoneuiqtviewadapter/tsrc/ut_phonevisibilityhandler/unit_tests.cpp
changeset 72 c76a0b1755b9
parent 46 bc5a64e5bc3c
child 76 cfea66083b62
equal deleted inserted replaced
64:6aaf0276100e 72:c76a0b1755b9
   123 
   123 
   124     
   124     
   125 private:
   125 private:
   126     PhoneVisibilityHandler *m_handler;
   126     PhoneVisibilityHandler *m_handler;
   127     bool m_bringToForegroundCalled;
   127     bool m_bringToForegroundCalled;
   128     int m_startPosition;
       
   129     int m_startPriority;
   128     int m_startPriority;
   130     int m_normalPriority;
   129     int m_normalPriority;
   131 };
   130 };
   132 
   131 
   133 CKeyguardAccessApi* CKeyguardAccessApi::NewL()
   132 CKeyguardAccessApi* CKeyguardAccessApi::NewL()
   169 {
   168 {
   170     m_normalPriority = CEikonEnv::Static()->RootWin().OrdinalPriority();
   169     m_normalPriority = CEikonEnv::Static()->RootWin().OrdinalPriority();
   171     
   170     
   172     m_handler = new PhoneVisibilityHandler (*this, this);
   171     m_handler = new PhoneVisibilityHandler (*this, this);
   173     
   172     
   174     m_startPosition = CEikonEnv::Static()->RootWin().OrdinalPosition();
   173     // Expect OrdinalPosition higher than 0
   175     QVERIFY(m_startPosition > 0); // Expect OrdinalPosition higher than 0
   174     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   176     m_startPriority = CEikonEnv::Static()->RootWin().OrdinalPriority();
   175     m_startPriority = CEikonEnv::Static()->RootWin().OrdinalPriority();
   177     QCOMPARE(m_startPriority, (int)ECoeWinPriorityNeverAtFront);
   176     QCOMPARE(m_startPriority, (int)ECoeWinPriorityNeverAtFront);
   178 }
   177 }
   179 
   178 
   180 void TestPhoneVisibilityHandler::cleanupTestCase ()
   179 void TestPhoneVisibilityHandler::cleanupTestCase ()
   201 
   200 
   202 void TestPhoneVisibilityHandler::t_normal()
   201 void TestPhoneVisibilityHandler::t_normal()
   203 {
   202 {
   204     // Test hide device dialogs when background ( false )
   203     // Test hide device dialogs when background ( false )
   205     m_handler->hideDeviceDialogs(false);
   204     m_handler->hideDeviceDialogs(false);
   206     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   205     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   207     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   206     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   208     
   207     
   209     // Test hide device dialogs when background ( true )
   208     // Test hide device dialogs when background ( true )
   210     m_handler->hideDeviceDialogs(true);
   209     m_handler->hideDeviceDialogs(true);
   211     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   210     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   212     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   211     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   213     
   212     
   214     // bringToForeground is call
   213     // bringToForeground is call
   215     m_handler->bringToForeground();
   214     m_handler->bringToForeground();
   216     QVERIFY(m_bringToForegroundCalled);
   215     QVERIFY(m_bringToForegroundCalled);
   227     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
   226     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
   228     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   227     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   229     
   228     
   230     // send backgroud is called last
   229     // send backgroud is called last
   231     m_handler->sendToBackground(false);
   230     m_handler->sendToBackground(false);
   232     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   231     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   233     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   232     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   234 }
   233 }
   235 
   234 
   236 void TestPhoneVisibilityHandler::t_carmode()
   235 void TestPhoneVisibilityHandler::t_carmode()
   237 {
   236 {
   267     QVERIFY(m_handler->m_carModeEnabled == false);
   266     QVERIFY(m_handler->m_carModeEnabled == false);
   268     QVERIFY(m_bringToForegroundCalled == false);
   267     QVERIFY(m_bringToForegroundCalled == false);
   269     
   268     
   270     // send backgroud is called last
   269     // send backgroud is called last
   271     m_handler->sendToBackground(false);
   270     m_handler->sendToBackground(false);
   272     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   271     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   273     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   272     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   274 }
   273 }
   275 
   274 
   276 void TestPhoneVisibilityHandler::t_devicelock()
   275 void TestPhoneVisibilityHandler::t_devicelock()
   277 {
   276 {
   278     m_handler->HandlePropertyChangedL(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, ETimerLocked);
   277     m_handler->HandlePropertyChangedL(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, ETimerLocked);
   279     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   278     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   280     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   279     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   281     
   280     
   282     // Test hide device dialogs when background ( false )
   281     // Test hide device dialogs when background ( false )
   283     m_handler->hideDeviceDialogs(false);
   282     m_handler->hideDeviceDialogs(false);
   284     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   283     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   285     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   284     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   286     
   285     
   287     // Test hide device dialogs when background ( true )
   286     // Test hide device dialogs when background ( true )
   288     m_handler->hideDeviceDialogs(true);
   287     m_handler->hideDeviceDialogs(true);
   289     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   288     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   290     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   289     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   291     
   290     
   292     // bringToForeground is call
   291     // bringToForeground is call
   293     m_handler->bringToForeground();
   292     m_handler->bringToForeground();
   294     QVERIFY(m_bringToForegroundCalled);
   293     QVERIFY(m_bringToForegroundCalled);
   296     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   295     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   297     
   296     
   298     // Test hide device dialogs when foreground ( false )
   297     // Test hide device dialogs when foreground ( false )
   299     m_handler->hideDeviceDialogs(false);
   298     m_handler->hideDeviceDialogs(false);
   300     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
   299     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
   301     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), (int)ECoeWinPriorityAlwaysAtFront);
   300     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 1);
   302 
   301 
   303     // Test hide device dialogs when foreground ( true )
   302     // Test hide device dialogs when foreground ( true )
   304     m_handler->hideDeviceDialogs(true);
   303     m_handler->hideDeviceDialogs(true);
   305     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
   304     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), 0);
   306     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   305     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   311     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   310     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   312 
   311 
   313     
   312     
   314     // send backgroud is called last
   313     // send backgroud is called last
   315     m_handler->sendToBackground(false);
   314     m_handler->sendToBackground(false);
   316     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   315     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   317     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   316     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   318     
   317     
   319 }
   318 }
   320 
   319 
   321 
   320 
   333     
   332     
   334     cleanup();
   333     cleanup();
   335     // send backgroud is called last
   334     // send backgroud is called last
   336     m_handler->sendToBackground(false);
   335     m_handler->sendToBackground(false);
   337     QVERIFY(!g_enableKeyGuardCalled);
   336     QVERIFY(!g_enableKeyGuardCalled);
   338     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   337     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   339     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   338     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   340     
   339     
   341     
   340     
   342     // Test when keyguard is enabled before call
   341     // Test when keyguard is enabled before call
   343     cleanup();
   342     cleanup();
   352     
   351     
   353     cleanup();
   352     cleanup();
   354     // send backgroud is called last
   353     // send backgroud is called last
   355     m_handler->sendToBackground(false);
   354     m_handler->sendToBackground(false);
   356     QVERIFY(g_enableKeyGuardCalled);
   355     QVERIFY(g_enableKeyGuardCalled);
   357     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   356     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   358     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   357     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   359     
   358     
   360     // Test when keyguard is enabled before call +
   359     // Test when keyguard is enabled before call +
   361     // keyguard is not enabled when phone is background
   360     // keyguard is not enabled when phone is background
   362     cleanup();
   361     cleanup();
   372     cleanup();
   371     cleanup();
   373     // Test that keyguard is not enabled when phone is background
   372     // Test that keyguard is not enabled when phone is background
   374     CEikonEnv::Static()->RootWin().SetOrdinalPosition(-1, ECoeWinPriorityNormal);
   373     CEikonEnv::Static()->RootWin().SetOrdinalPosition(-1, ECoeWinPriorityNormal);
   375     m_handler->sendToBackground(false);
   374     m_handler->sendToBackground(false);
   376     QVERIFY(!g_enableKeyGuardCalled);
   375     QVERIFY(!g_enableKeyGuardCalled);
   377     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   376     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   378     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   377     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   379     
   378     
   380     
   379     
   381     // Test case where two calls is created and key guard is enabled
   380     // Test case where two calls is created and key guard is enabled
   382     cleanup();
   381     cleanup();
   397     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   396     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   398     
   397     
   399     cleanup();
   398     cleanup();
   400     m_handler->sendToBackground(false);
   399     m_handler->sendToBackground(false);
   401     QVERIFY(g_enableKeyGuardCalled);
   400     QVERIFY(g_enableKeyGuardCalled);
   402     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   401     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   403     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   402     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   404     
   403     
   405     // Test case where two calls is created and key guard is enabled during middle
   404     // Test case where two calls is created and key guard is enabled during middle
   406     cleanup();
   405     cleanup();
   407     
   406     
   421     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   420     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), ECoeWinPriorityAlwaysAtFront + 100);
   422     
   421     
   423     cleanup();
   422     cleanup();
   424     m_handler->sendToBackground(false);
   423     m_handler->sendToBackground(false);
   425     QVERIFY(g_enableKeyGuardCalled);
   424     QVERIFY(g_enableKeyGuardCalled);
   426     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPosition(), m_startPosition);
   425     QVERIFY(CEikonEnv::Static()->RootWin().OrdinalPosition() > 0);
   427     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   426     QCOMPARE(CEikonEnv::Static()->RootWin().OrdinalPriority(), m_startPriority);
   428 }
   427 }
   429 
   428 
   430 
   429 
   431 PHONE_TEST_MAIN(TestPhoneVisibilityHandler)
   430 PHONE_TEST_MAIN(TestPhoneVisibilityHandler)