--- a/windowing/windowserver/tauto/twindowsizecache.cpp Tue Jun 22 15:21:29 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2940 +0,0 @@
-// Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// General window tests
-//
-//
-
-/**
- @file
- @test
- @internalComponent - Internal Symbian test code
-*/
-
-#include "twindowsizecache.h"
-
-CTWindowSizeCacheTest::CTWindowSizeCacheTest(CTestStep* aStep) : CTWsGraphicsBase(aStep)
- {}
-
-CTWindowSizeCacheTest::~CTWindowSizeCacheTest()
- {
- }
-
-void CTWindowSizeCacheTest::ConstructL()
- {}
-
-
-void CTWindowSizeCacheTest::TestCreateRWindowL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(KErrNone == err);
-
- if (ETestSizeCacheEnabled == aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- CleanupClosePushL(wg);
- TEST(KErrNone == err);
-
- // w1 State 0
- RWindow w1(rws);
- err = w1.Construct(wg,1);
- CleanupClosePushL(w1);
- TEST(KErrNone == err);
-
- // w2 State 0
- RWindow w2(rws);
- err = w2.Construct(wg,2);
- CleanupClosePushL(w2);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(2);
-
- // w1 State Final
- w1.Close();
- // w2 State Final
- w2.Close();
-
- RWindow w3(rws);
- // w3 State 0
- err = w3.Construct(wg,1);
- CleanupClosePushL(w3);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(2);
-
- // w3 State Final
- w3.Close();
-
- wg.Close();
-
- RWindowGroup wg2(rws);
- err = wg2.Construct(0);
- CleanupClosePushL(wg2);
- TEST(KErrNone == err);
-
- RWindowGroup wg3(rws);
- err = wg3.Construct(1);
- CleanupClosePushL(wg3);
- TEST(KErrNone == err);
-
- // w4 State 0
- RWindow w4(rws);
- err = w4.Construct(wg2,2);
- CleanupClosePushL(w4);
- TEST(KErrNone == err);
-
- // w5 State 0
- RWindow w5(rws);
- err = w5.Construct(wg3,3);
- CleanupClosePushL(w5);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(5);
-
- // w4 State Final
- w4.Close();
-
- // w5 State Final
- // Check nothing bad happens when calling Close more than once on RWindow
- w5.Close();
- w5.Close();
-
- // Check nothing bad happens when calling Close more than once on RWindowGroup
- wg2.Close();
- wg2.Close();
-
- wg3.Close();
-
- // Check nothing bad happens when calling Close more than once on RWsSession
- rws.Close();
- rws.Close();
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestCreateRBlankWindowL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(KErrNone == err);
-
- if (ETestSizeCacheEnabled == aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- CleanupClosePushL(wg);
- TEST(KErrNone == err);
-
- // w1 State 0
- RBlankWindow w1(rws);
- err = w1.Construct(wg,1);
- CleanupClosePushL(w1);
- TEST(KErrNone == err);
-
- // w2 State 0
- RBlankWindow w2(rws);
- err = w2.Construct(wg,2);
- CleanupClosePushL(w2);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(2);
-
- // w1 State Final
- w1.Close();
- // w2 State Final
- w2.Close();
-
- RBlankWindow w3(rws);
- // w3 State 0
- err = w3.Construct(wg,1);
- CleanupClosePushL(w3);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(2);
-
- // w3 State Final
- w3.Close();
-
- wg.Close();
-
- RWindowGroup wg2(rws);
- err = wg2.Construct(0);
- CleanupClosePushL(wg2);
- TEST(KErrNone == err);
-
- RWindowGroup wg3(rws);
- err = wg3.Construct(1);
- CleanupClosePushL(wg3);
- TEST(KErrNone == err);
-
- // w4 State 0
- RBlankWindow w4(rws);
- err = w4.Construct(wg2,2);
- CleanupClosePushL(w4);
- TEST(KErrNone == err);
-
- // w5 State 0
- RBlankWindow w5(rws);
- err = w5.Construct(wg3,3);
- CleanupClosePushL(w5);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(5);
-
- // w4 State Final
- w4.Close();
-
- // w5 State Final
- // Check nothing bad happens when calling Close more than once on RBlankWindow
- w5.Close();
- w5.Close();
-
- wg2.Close();
- wg3.Close();
- rws.Close();
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestCreateRBackedUpWindowL(TSizeCacheStatus aEnableWindowSizeCache, TDisplayMode aDisplayMode)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(KErrNone == err);
-
- if (ETestSizeCacheEnabled == aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- CleanupClosePushL(wg);
- TEST(KErrNone == err);
-
- // w1 State 0
- RBackedUpWindow w1(rws);
- err = w1.Construct(wg,aDisplayMode,1);
- CleanupClosePushL(w1);
- TEST(KErrNone == err);
-
- // w2 State 0
- RBackedUpWindow w2(rws);
- err = w2.Construct(wg,aDisplayMode,2);
- CleanupClosePushL(w2);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(2);
-
- // w1 State Final
- w1.Close();
-
- // w2 State Final
- w2.Close();
-
- RBackedUpWindow w3(rws);
- // w3 State 0
- err = w3.Construct(wg,aDisplayMode,1);
- CleanupClosePushL(w3);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(2);
-
- // w3 State Final
- w3.Close();
-
- wg.Close();
-
- RWindowGroup wg2(rws);
- CleanupClosePushL(wg2);
- err = wg2.Construct(0);
- TEST(KErrNone == err);
-
- RWindowGroup wg3(rws);
- err = wg3.Construct(1);
- CleanupClosePushL(wg3);
- TEST(KErrNone == err);
-
- // w4 State 0
- RBackedUpWindow w4(rws);
- err = w4.Construct(wg2,aDisplayMode,2);
- CleanupClosePushL(w4);
- TEST(KErrNone == err);
-
- // w5 State 0
- RBackedUpWindow w5(rws);
- err = w5.Construct(wg3,aDisplayMode,3);
- CleanupClosePushL(w5);
- TEST(KErrNone == err);
-
- CleanupStack::Pop(5);
-
- // w4 State Final
- w4.Close();
-
- // w5 State Final
- // Check nothing bad happens when calling Close more than once on RBackedUpWindow
- w5.Close();
- w5.Close();
-
- wg2.Close();
- wg3.Close();
- rws.Close();
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowNoCacheEntryL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowNoCacheEntrySetExtentErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TPoint point1 (10101,897);
- TSize size1 (10001,123);
- err = w1.SetExtentErr(point1, size1);
- TEST(KErrNone == err);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowNoCacheEntrySetSizeErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- err = w1.SetSizeErr(size1);
- TEST(KErrNone == err);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowNoCacheEntrySetExtentL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TPoint point1 (10101,897);
- TSize size1 (10001,123);
- w1.SetExtent(point1, size1);
- rws.Flush();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowNoCacheEntrySetSizeL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowNoCacheEntryEnableWindowSizeCacheL()
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- rws.EnableWindowSizeCacheL();
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- rws.EnableWindowSizeCacheL();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheCleanL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheCleanSizeL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size1);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheCleanEnableWindowSizeCacheL()
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- rws.EnableWindowSizeCacheL();
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 1
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- rws.EnableWindowSizeCacheL();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheCleanEnableWindowSizeCacheLSizeL()
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- rws.EnableWindowSizeCacheL();
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 1
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- rws.EnableWindowSizeCacheL();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size1);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
- rws.Flush();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetExtentL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TPoint point2 (20202,223);
- TSize size2 (20002,223);
- w1.SetExtent(point2, size2);
- rws.Flush();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- err = w1.SetSizeErr(size2);
- TEST(KErrNone == err);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetExtentErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TPoint point2 (20202,223);
- TSize size2 (20002,223);
- err = w1.SetExtentErr(point2, size2);
- TEST(KErrNone == err);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeTwiceL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- TSize size3 (30003,323);
- // w1 State 2
- w1.SetSize(size3);
- rws.Flush();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeSetExtentL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TPoint point3 (30303,232);
- TSize size3 (30003,323);
- w1.SetExtent(point3, size3);
- rws.Flush();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeSetSizeErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TSize size3 (30003,323);
- err = w1.SetSizeErr(size3);
- TEST(KErrNone == err);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeSetExtentErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TPoint point3 (30303,232);
- TSize size3 (30003,323);
- err = w1.SetExtentErr(point3, size3);
- TEST(KErrNone == err);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtySetSizeEnableWindowSizeCacheL()
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- rws.EnableWindowSizeCacheL();
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- rws.EnableWindowSizeCacheL();
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-//-------------------------------------------------------------------------------------------
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
- rws.Flush();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size2);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetExtentL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TPoint point2 (20202,223);
- TSize size2 (20002,223);
- w1.SetExtent(point2, size2);
- rws.Flush();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size2);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- err = w1.SetSizeErr(size2);
- TEST(KErrNone == err);
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size2);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetExtentErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TPoint point2 (20202,223);
- TSize size2 (20002,223);
- err = w1.SetExtentErr(point2, size2);
- TEST(KErrNone == err);
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size2);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeTwiceL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- TSize size3 (30003,323);
- // w1 State 2
- w1.SetSize(size3);
- rws.Flush();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size3);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetExtentL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TPoint point3 (30303,232);
- TSize size3 (30003,323);
- w1.SetExtent(point3, size3);
- rws.Flush();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size3);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetSizeErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TSize size3 (30003,323);
- err = w1.SetSizeErr(size3);
- TEST(KErrNone == err);
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size3);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetExtentErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TPoint point3 (30303,232);
- TSize size3 (30003,323);
- err = w1.SetExtentErr(point3, size3);
- TEST(KErrNone == err);
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size3);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-void CTWindowSizeCacheTest::TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeEnableWindowSizeCacheL()
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- rws.EnableWindowSizeCacheL();
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- rws.EnableWindowSizeCacheL();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size2);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-//------------------------------------------------------------------------------------------
-
-void CTWindowSizeCacheTest::TestRBlankWindowSetSizeSetExtentL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- // w1 State 0
- RBlankWindow w1(rws);
- err = w1.Construct(wg,1);
- CleanupClosePushL(w1);
- TEST(err==KErrNone);
-
- // w1 State 0
- TSize size1 (10001,123);
- w1.SetSize(size1);
- rws.Flush();
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- TPoint point3 (30303,232);
- TSize size3 (30003,323);
- w1.SetExtent(point3, size3);
- rws.Flush();
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size3);
-
- // w1 State 2
- TSize size4 (40004,423);
- w1.SetSize(size4);
-
- // w1 State 1
- TSize retSize3 = w1.Size();
- TEST(retSize3 == size4);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-//------------------------------------------------------------------------------------------
-
-void CTWindowSizeCacheTest::TestRBackedUpWindowSetSizeErrSetExtentErrL(TSizeCacheStatus aEnableWindowSizeCache)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- // w1 State 0
- RBlankWindow w1(rws);
- err = w1.Construct(wg,1);
- CleanupClosePushL(w1);
- TEST(err==KErrNone);
-
- // w1 State 0
- TSize size1 (10001,123);
- err = w1.SetSizeErr(size1);
- TEST(err==KErrNone);
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- err = w1.SetSizeErr(size2);
- TEST(err==KErrNone);
-
- // w1 State 2
- TPoint point3 (30303,232);
- TSize size3 (30003,323);
- err = w1.SetExtentErr(point3, size3);
- TEST(err==KErrNone);
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size3);
-
- // w1 State 2
- TSize size4 (40004,423);
- err = w1.SetSizeErr(size4);
- TEST(err==KErrNone);
-
- // w1 State 1
- TSize retSize3 = w1.Size();
- TEST(retSize3 == size4);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-//------------------------------------------------------------------------------------------
-
-TUint64 CTWindowSizeCacheTest::TestRWindowSizePerformanceL(TSizeCacheStatus aEnableWindowSizeCache, TUint aIterations)
- {
- TUint64 timeDeltaMicroSeconds = 0;
-
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- TEST(KErrNone == err);
- CleanupClosePushL(rws);
-
- if (ETestSizeCacheEnabled == aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- TEST(KErrNone == err);
- CleanupClosePushL(wg);
-
- // w1 State 0
- RWindow w1(rws);
- err = w1.Construct(wg,1);
- TEST(KErrNone == err);
- CleanupClosePushL(w1);
-
- TSize size1 (10001,123);
- w1.SetSize(size1);
-
- TTime start;
- TTime end;
- start.UniversalTime();
- for (TUint iter = 0; iter < aIterations; ++iter)
- {
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
- }
- end.UniversalTime();
-
- TTimeIntervalMicroSeconds delta = end.MicroSecondsFrom(start);
- timeDeltaMicroSeconds = delta.Int64();
- INFO_PRINTF4(_L("TestRWindowSizePerformanceL - WindowSizeCacheEnabled %d, Iterations %d, Microseconds %Ld"), aEnableWindowSizeCache, aIterations, timeDeltaMicroSeconds);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- return timeDeltaMicroSeconds;
- }
-
-
-//------------------------------------------------------------------------------------------
-/*
-Sets the random seed used by CTWindowSizeCacheTest::NextRandom.
- */
-void CTWindowSizeCacheTest::SetRandomSeed(TInt64 aSeed)
- {
- INFO_PRINTF2(_L("Random Seed - %d"), aSeed);
- iSeed = aSeed;
- }
-
-/*
-Performs an action on RWindow or RWsSession as specified by TRWindowAction aAction.
-When the size of the window is changed, aExpectedSize is changed to the size we expect the window to be the next time RWindow::Size is called.
-When RWindow::Size is called, we check the size returned matches aExpectedSize.
-If aAction requests RWsSession::EnableWindowSizeCache, we call this if TSizeCacheStatus allows this.
-
-This function was designed for use with random stress tests, with a pseudo-random sequence driving TRWindowAction.
- */
-void CTWindowSizeCacheTest::RWindowPerformAction(TRWindowAction aAction, TSizeCacheStatus aEnableWindowSizeCache, RWsSession& aWs, RWindow& aWindow, TSize& aExpectedSize)
- {
- switch (aAction)
- {
- case ESetExtent :
- {
- TPoint point(NextRandom(), NextRandom());
- aExpectedSize.iHeight = NextRandom();
- aExpectedSize.iWidth = NextRandom();
- aWindow.SetExtent(point, aExpectedSize);
- aExpectedSize.iHeight = (aExpectedSize.iHeight < 0) ? 0 : aExpectedSize.iHeight;
- aExpectedSize.iWidth = (aExpectedSize.iWidth < 0) ? 0 : aExpectedSize.iWidth;
- }
- break;
- case ESetExtentErr :
- {
- TPoint point(NextRandom(), NextRandom());
- aExpectedSize.iHeight = NextRandom();
- aExpectedSize.iWidth = NextRandom();
- TInt err = aWindow.SetExtentErr(point, aExpectedSize);
- TEST(KErrNone == err);
- aExpectedSize.iHeight = (aExpectedSize.iHeight < 0) ? 0 : aExpectedSize.iHeight;
- aExpectedSize.iWidth = (aExpectedSize.iWidth < 0) ? 0 : aExpectedSize.iWidth;
- }
- break;
- case ESetSize :
- {
- aExpectedSize.iHeight = NextRandom();
- aExpectedSize.iWidth = NextRandom();
- aWindow.SetSize(aExpectedSize);
- aExpectedSize.iHeight = (aExpectedSize.iHeight < 0) ? 0 : aExpectedSize.iHeight;
- aExpectedSize.iWidth = (aExpectedSize.iWidth < 0) ? 0 : aExpectedSize.iWidth;
- }
- break;
- case ESetSizeErr :
- {
- aExpectedSize.iHeight = NextRandom();
- aExpectedSize.iWidth = NextRandom();
- TInt err = aWindow.SetSizeErr(aExpectedSize);
- TEST(KErrNone == err);
- aExpectedSize.iHeight = (aExpectedSize.iHeight < 0) ? 0 : aExpectedSize.iHeight;
- aExpectedSize.iWidth = (aExpectedSize.iWidth < 0) ? 0 : aExpectedSize.iWidth;
- }
- break;
- case ECheckSize :
- {
- TSize retSize1 = aWindow.Size();
- TEST(retSize1 == aExpectedSize);
- }
- break;
- case EFlushSession :
- {
- aWs.Flush();
- }
- break;
- case EEnableWindowSizeCache :
- {
- if (ETestSizeCacheEnabled == aEnableWindowSizeCache)
- {
- aWs.EnableWindowSizeCacheL();
- }
- }
- break;
- default :
- break;
- }
- }
-
-void CTWindowSizeCacheTest::TestRandomisedStressL(TSizeCacheStatus aEnableWindowSizeCache, TUint aIterations)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- TEST(KErrNone == err);
- CleanupClosePushL(rws);
-
- if (aEnableWindowSizeCache)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- err = wg.Construct(0);
- TEST(KErrNone == err);
- CleanupClosePushL(wg);
-
- // w1 State 0
- RWindow w1(rws);
- err = w1.Construct(wg,1);
- TEST(KErrNone == err);
- CleanupClosePushL(w1);
-
- TSize size1 (10001,123);
- w1.SetSize(size1);
-
- for (TUint iter = 0; iter < aIterations; ++iter)
- {
- TRWindowAction action = static_cast<TRWindowAction>(NextRandom(EMaxAction));
- RWindowPerformAction(action, aEnableWindowSizeCache, rws, w1, size1);
- }
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
- __UHEAP_MARKEND;
- }
-
-/*
-TCleanupOperation for a window pool, implemented as RPointerArray<RWindow>.
- */
-void CTWindowSizeCacheTest::CleanupWindowPool(TAny* aPtr)
- {
- RPointerArray<RWindow> windowPool = *(static_cast<RPointerArray<RWindow>*>(aPtr));
- const TUint poolSize = windowPool.Count();
- // Note: ResetAndDestroy deletes referenced objects, so no need to delete items in loop
- for (TUint iter = 0; iter < poolSize; ++iter)
- {
- windowPool[iter]->Close();
- }
- windowPool.ResetAndDestroy();
- }
-
-void CTWindowSizeCacheTest::TestRandomisedStressMultiSessionL(TSizeCacheStatus aEnableWindowSizeCache, TUint aIterations)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws1;
- TInt err = rws1.Connect();
- TEST(KErrNone == err);
- CleanupClosePushL(rws1);
-
- // Multiple sessions in one thread
- RWsSession rws2;
- err = rws2.Connect();
- TEST(KErrNone == err);
- CleanupClosePushL(rws2);
-
- RWindowGroup rws1_wg1(rws1);
- err = rws1_wg1.Construct(0);
- CleanupClosePushL(rws1_wg1);
- TEST(KErrNone == err);
-
- RWindowGroup rws2_wg1(rws2);
- err = rws2_wg1.Construct(0);
- CleanupClosePushL(rws2_wg1);
- TEST(KErrNone == err);
-
- // Multiple window groups in one session
- RWindowGroup rws2_wg2(rws2);
- err = rws2_wg2.Construct(1);
- CleanupClosePushL(rws2_wg2);
- TEST(KErrNone == err);
-
- // Window pool for all windows owned by session rws1
- RPointerArray<RWindow> rws1_windowPool;
- CleanupStack::PushL(TCleanupItem(CleanupWindowPool,&rws1_windowPool));
- // Each window in window pool has a corresponding expected size at corresponding array index
- RArray<TSize> rws1_expectedSizePool;
- CleanupClosePushL(rws1_expectedSizePool);
-
- // Window pool for all windows owned by session rws2
- RPointerArray<RWindow> rws2_windowPool;
- CleanupStack::PushL(TCleanupItem(CleanupWindowPool,&rws2_windowPool));
- // Each window in window pool has a corresponding expected size at corresponding array index
- RArray<TSize> rws2_expectedSizePool;
- CleanupClosePushL(rws2_expectedSizePool);
-
- // Populate window pool
- const TUint KWindowCount_rws1_wg1 = 50;
- const TUint KWindowCount_rws2_wg1 = 50;
- const TUint KWindowCount_rws2_wg2 = 50;
-
- // Windows for session 1 belonging to rws1_wg1
- // Many windows - siblings
- for (TUint iter = 0; iter < KWindowCount_rws1_wg1; ++iter)
- {
- RWindow* win = new (ELeave) RWindow(rws1);
- CleanupStack::PushL(win);
- TInt err = win->Construct(rws1_wg1,iter+1);
- TEST(KErrNone == err);
- rws1_windowPool.AppendL(win);
- CleanupStack::Pop(win);
- TSize expectedSize (NextRandom(),NextRandom());
- win->SetSize(expectedSize);
- // Wserv flattens size to zero
- expectedSize.iHeight = (expectedSize.iHeight < 0) ? 0 : expectedSize.iHeight;
- expectedSize.iWidth = (expectedSize.iWidth < 0) ? 0 : expectedSize.iWidth;
- rws1_expectedSizePool.AppendL(expectedSize);
- TSize retSize1 = win->Size();
- TEST(retSize1 == expectedSize);
- }
-
- // Windows for session 2 belonging to rws2_wg1
- // Many windows - siblings
- for (TUint iter = 0; iter < KWindowCount_rws2_wg1; ++iter)
- {
- RWindow* win = new (ELeave) RWindow(rws2);
- CleanupStack::PushL(win);
- TInt err = win->Construct(rws2_wg1,iter+2);
- TEST(KErrNone == err);
- rws2_windowPool.AppendL(win);
- CleanupStack::Pop();
- TSize expectedSize (NextRandom(),NextRandom());
- win->SetSize(expectedSize);
- // Wserv flattens size to zero
- expectedSize.iHeight = (expectedSize.iHeight < 0) ? 0 : expectedSize.iHeight;
- expectedSize.iWidth = (expectedSize.iWidth < 0) ? 0 : expectedSize.iWidth;
- rws2_expectedSizePool.AppendL(expectedSize);
- TSize retSize1 = win->Size();
- TEST(retSize1 == expectedSize);
- }
-
- // Windows for session 2 belonging to rws2_wg2
- // Many windows - children
- RWindowTreeNode parent = rws2_wg2;
- for (TUint iter = 0; iter < KWindowCount_rws2_wg2; ++iter)
- {
- RWindow* win = new (ELeave) RWindow(rws2);
- CleanupStack::PushL(win);
- TInt err = win->Construct(parent,KWindowCount_rws2_wg1+iter+2);
- TEST(KErrNone == err);
- parent = *win;
- rws2_windowPool.AppendL(win);
- CleanupStack::Pop();
- TSize expectedSize (NextRandom(),NextRandom());
- win->SetSize(expectedSize);
- // Wserv flattens size to zero
- expectedSize.iHeight = (expectedSize.iHeight < 0) ? 0 : expectedSize.iHeight;
- expectedSize.iWidth = (expectedSize.iWidth < 0) ? 0 : expectedSize.iWidth;
- rws2_expectedSizePool.AppendL(expectedSize);
- TSize retSize1 = win->Size();
- TEST(retSize1 == expectedSize);
- }
-
- // Stress system by performing actions on windows
- for (TUint iter = 0; iter < aIterations; ++iter)
- {
- TRWindowAction action = static_cast<TRWindowAction>(NextRandom(EMaxAction));
- TUint32 windowPool = NextRandom(2);
- switch (windowPool)
- {
- case 0 :
- {
- TUint32 target = NextRandom(rws1_windowPool.Count());
- RWindowPerformAction(action, aEnableWindowSizeCache, rws1, *(rws1_windowPool[target]) , rws1_expectedSizePool[target]);
- }
- break;
- case 1 :
- {
- TUint32 target = NextRandom(rws2_windowPool.Count());
- RWindowPerformAction(action, aEnableWindowSizeCache, rws2, *(rws2_windowPool[target]) , rws2_expectedSizePool[target]);
- }
- break;
- default :
- User::Invariant();
- }
- }
-
-
- // Cleanup afterwards
- CleanupStack::Pop(9);
-
- CleanupWindowPool(&rws1_windowPool);
- rws1_expectedSizePool.Close();
- rws1_wg1.Close();
- rws1.Close();
-
- CleanupWindowPool(&rws2_windowPool);
- rws2_expectedSizePool.Close();
- rws2_wg1.Close();
- rws2_wg2.Close();
- rws2.Close();
- }
-
-void CTWindowSizeCacheTest::TestRandomisedStressCacheEntryVolumeL(TSizeCacheStatus aEnableWindowSizeCache, TUint aIterations, TUint aWindowPoolSize)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws1;
- TInt err = rws1.Connect();
- TEST(KErrNone == err);
- CleanupClosePushL(rws1);
-
- if (aEnableWindowSizeCache)
- {
- rws1.EnableWindowSizeCacheL();
- }
-
- RWindowGroup rws1_wg1(rws1);
- err = rws1_wg1.Construct(0);
- TEST(KErrNone == err);
- CleanupClosePushL(rws1_wg1);
-
- RPointerArray<RWindow> windowPool;
- CleanupStack::PushL(TCleanupItem(CleanupWindowPool,&windowPool));
- // Each window in window pool has a corresponding expected size at corresponding array index
- RArray<TSize> expectedSizePool;
- CleanupClosePushL(expectedSizePool);
-
- // Populate window pool
- for (TUint iter = 0; iter < aWindowPoolSize; ++iter)
- {
- RWindow* win = new (ELeave) RWindow(rws1);
- CleanupStack::PushL(win);
- TInt err = win->Construct(rws1_wg1,iter+1);
- TEST(KErrNone == err);
- windowPool.AppendL(win);
- CleanupStack::Pop(win);
-
- TSize expectedSize (NextRandom(),NextRandom());
- win->SetSize(expectedSize);
- // Wserv flattens size to zero
- expectedSize.iHeight = (expectedSize.iHeight < 0) ? 0 : expectedSize.iHeight;
- expectedSize.iWidth = (expectedSize.iWidth < 0) ? 0 : expectedSize.iWidth;
- expectedSizePool.AppendL(expectedSize);
- TSize retSize1 = win->Size();
- TEST(retSize1 == expectedSize);
- }
-
- // Stress system by performing actions on windows
- for (TUint iter = 0; iter < aIterations; ++iter)
- {
- TRWindowAction action = static_cast<TRWindowAction>(NextRandom(EMaxAction));
- TUint32 target = NextRandom(aWindowPoolSize);
- RWindowPerformAction(action, aEnableWindowSizeCache, rws1, *(windowPool[target]), expectedSizePool[target]);
- }
-
- // Cleanup afterwards
- CleanupStack::Pop(4);
-
- CleanupWindowPool(&windowPool);
- expectedSizePool.Close();
- rws1_wg1.Close();
- rws1.Close();
-
- __UHEAP_MARKEND;
- }
-
-//------------------------------------------------------------------------------------------
-
-void CTWindowSizeCacheTest::TestStressEnableWindowSizeCacheL(TUint aIterations)
- {
- __UHEAP_MARK;
- // w* State Initial
- RWsSession rws;
- TInt err = rws.Connect();
- CleanupClosePushL(rws);
- TEST(err==KErrNone);
-
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- for (TUint iter = 0; iter < aIterations; iter++)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- RWindowGroup wg(rws);
- wg.Construct(0);
- CleanupClosePushL(rws);
-
- // w1 State 0
- RWindow w1(rws);
- w1.Construct(wg,1);
- CleanupClosePushL(w1);
-
- TSize size1 (10001,123);
- w1.SetSize(size1);
-
- // w1 State 1
- TSize retSize1 = w1.Size();
- TEST(retSize1 == size1);
-
- // w1 State 2
- TSize size2 (20002,223);
- w1.SetSize(size2);
-
- // w1 State 2
- // Only the first call to EnableWindowSizeCacheL() should have an effect
- // All subsequent calls to EnableWindowSizeCacheL() should have no effect
- for (TUint iter = 0; iter < aIterations; iter++)
- {
- rws.EnableWindowSizeCacheL();
- }
-
- // w1 State 1
- TSize retSize2 = w1.Size();
- TEST(retSize2 == size2);
-
- // w1 State Final
- CleanupStack::Pop();
- w1.Close();
-
- CleanupStack::Pop();
- wg.Close();
-
- CleanupStack::Pop();
- rws.Close();
-
- __UHEAP_MARKEND;
- }
-
-/*
-Tests 701-706 focus on window creation operating correctly, alternating use of the window size cache.
-Tests 707-710 aim to cover state transitions for cache entries in the window size cache for RWindow.
-Tests 711-712 performs basic verification of size related functionality for RBlankWindow and RBackedUpWindow.
-Test 713 focusses on ensuring a performance gain is achieved with window size caching enabled.
-Tests 714-720 aim to stress the window size cache with pseudo-random sequences of RWindow size related functions.
-
-The states in the state machine model used for testing the RWindow size cache in tests 707-710 is as follows:
-
-State: Initial
- Window not yet in existence
-
-State 0: No Cache entry
- Window created, window size cache does not contain an entry for this window
-
-State 1: Cache entry exists, cache clean
- Window created, window size cache exists, contains a valid size
-
-State 2: Cache entry exists, cache dirty
- Window created, window size cache exists, does not contain a valid size
-
-State: Final
- Window destroyed
- */
-void CTWindowSizeCacheTest::RunTestCaseL(TInt /*aCurTestCase*/)
- {
- _LIT(KTest1,"Create RWindow, window size cache off");
- _LIT(KTest2,"Create RWindow, window size cache on");
- _LIT(KTest3,"Create RBlankWindow, window size cache off");
- _LIT(KTest4,"Create RBlankWindow, window size cache on");
- _LIT(KTest5,"Create RBackedUpWindow, window size cache off");
- _LIT(KTest6,"Create RBackedUpWindow, window size cache on");
-
- _LIT(KTest7,"RWindow - No cache entry");
- _LIT(KTest8,"RWindow - Cache entry exists, cache clean");
- _LIT(KTest9,"RWindow - Cache entry exists, cache dirty");
- _LIT(KTest10,"RWindow - Cache entry exists, cache dirty->clean");
-
- _LIT(KTest11,"RBlankWindow size cache");
- _LIT(KTest12,"RBackedUpWindow size cache");
-
- _LIT(KTest13,"RWindow Size Performance");
- _LIT(KTest14,"RWindow Randomised Stress window size cache off");
- _LIT(KTest15,"RWindow Randomised Stress window size cache on");
- _LIT(KTest16,"RWindow Randomised Stress MultiSession cache off");
- _LIT(KTest17,"RWindow Randomised Stress MultiSession cache on");
- _LIT(KTest18,"RWindow Randomised Stress Entry Volume cache off");
- _LIT(KTest19,"RWindow Randomised Stress Entry Volume cache on");
- _LIT(KTest20,"RWsSession stress EnableWindowSizeCacheL");
-
- const TDisplayMode displayMode = EColor16MAP;
- const TUint KPerformanceIterations = 50000;
- const TUint KStressTestIterations = 3000;
- const TUint KStressWindowPoolSize = 100;
-
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
-
- switch(++iTest->iState)
- {
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0701
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test creation and destruction for instances of RWindow, window size cache off
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, some RWindowGroup and RWindow instances, and closes them.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 1:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0701"));
- iTest->LogSubTest(KTest1);
- TestCreateRWindowL(ETestSizeCacheNotEnabled);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0702
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test creation and destruction for instances of RWindow, window size cache on
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, enables window size cache, creates some RWindowGroup and RWindow instances, and closes them.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 2:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0702"));
- iTest->LogSubTest(KTest2);
- TestCreateRWindowL(ETestSizeCacheEnabled);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0703
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test creation and destruction for instances of RBlankWindow, window size cache off
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, creates some RWindowGroup and RBlankWindow instances, and closes them.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 3:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0703"));
- iTest->LogSubTest(KTest3);
- TestCreateRBlankWindowL(ETestSizeCacheNotEnabled);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0704
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test creation and destruction for instances of RBlankWindow, window size cache on
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, enables window size cache, creates some RWindowGroup and RBlankWindow instances, and closes them.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 4:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0704"));
- iTest->LogSubTest(KTest4);
- TestCreateRBlankWindowL(ETestSizeCacheEnabled);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0705
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test creation and destruction for instances of RBackedUpWindow, window size cache off
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, creates some RWindowGroup and RBackedUpWindow instances, and closes them.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 5:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0705"));
- iTest->LogSubTest(KTest5);
- TestCreateRBackedUpWindowL(ETestSizeCacheNotEnabled, displayMode);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0706
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test creation and destruction for instances of RBackedUpWindow, window size cache on
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, enables window size cache, creates some RWindowGroup and RBackedUpWindow instances, and closes them.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 6:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0706"));
- iTest->LogSubTest(KTest6);
- TestCreateRBackedUpWindowL(ETestSizeCacheEnabled, displayMode);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0707
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RWindow size cache - State: No Cache Entry
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Perform the following with window size cache on and off:
- Create RWsSession, creates RWindowGroup and RWindow.
- Perform one of SetExtent/SetSize/SetExtentErr/SetSizeErr/EnableWindowSizeCacheL.
- Clean up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 7:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0707"));
- iTest->LogSubTest(KTest7);
- TestRWindowNoCacheEntryL(ETestSizeCacheNotEnabled);
- TestRWindowNoCacheEntryL(ETestSizeCacheEnabled);
- TestRWindowNoCacheEntrySetExtentErrL(ETestSizeCacheNotEnabled);
- TestRWindowNoCacheEntrySetExtentErrL(ETestSizeCacheEnabled);
- TestRWindowNoCacheEntrySetSizeErrL(ETestSizeCacheNotEnabled);
- TestRWindowNoCacheEntrySetSizeErrL(ETestSizeCacheEnabled);
- TestRWindowNoCacheEntrySetExtentL(ETestSizeCacheNotEnabled);
- TestRWindowNoCacheEntrySetExtentL(ETestSizeCacheEnabled);
- TestRWindowNoCacheEntrySetSizeL(ETestSizeCacheNotEnabled);
- TestRWindowNoCacheEntrySetSizeL(ETestSizeCacheEnabled);
- TestRWindowNoCacheEntryEnableWindowSizeCacheL();
- break;
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0708
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RWindow size cache State: Cache entry exists, cache clean
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Perform the following with window size cache on and off:
- Create RWsSession, creates RWindowGroup and RWindow, calls SetSize.
- Perform one of Size/EnableWindowSizeCacheL.
- Check that size returned matches expected size.
- Clean up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 8:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0708"));
- iTest->LogSubTest(KTest8);
- TestRWindowCacheEntryExistsCacheCleanL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheCleanL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheCleanSizeL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheCleanSizeL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheCleanEnableWindowSizeCacheL();
- TestRWindowCacheEntryExistsCacheCleanEnableWindowSizeCacheLSizeL();
- break;
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0709
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RWindow size cache State: Cache entry exists, cache dirty
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Perform the following with window size cache on and off:
- Create RWsSession, creates RWindowGroup and RWindow.
- Calls SetSize, Size, then SetSize to enter state with dirty cache entry.
- Perform combinations of SetSize/SetExtent/SetSizeErr/SetExtentErr/EnableWindowSizeCacheL.
- Check that size returned matches the last size set on the window whenever size is queried.
- Clean up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 9:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0709"));
- iTest->LogSubTest(KTest9);
- TestRWindowCacheEntryExistsCacheDirtySetSizeL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetExtentL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetExtentL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetExtentErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetExtentErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeTwiceL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeTwiceL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeSetExtentL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeSetExtentL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeSetSizeErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeSetSizeErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeSetExtentErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeSetExtentErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtySetSizeEnableWindowSizeCacheL();
- break;
-
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0710
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RWindow size cache State: Cache entry exists, cache dirty -> State: Cache entry exists, cache clean
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Perform the following with window size cache on and off:
- Create RWsSession, creates RWindowGroup and RWindow.
- Calls SetSize, Size, to enter state with clean cache entry.
- Perform combinations of SetSize/SetExtent/SetSizeErr/SetExtentErr/EnableWindowSizeCacheL to enter state with dirty cache entry.
- Calls RWindow::Size to re-enter state with clean cache entry.
- Check that size returned matches the last size set on the window whenever size is queried.
- Clean up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks.
-*/
- case 10:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0710"));
- iTest->LogSubTest(KTest10);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetExtentL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetExtentL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetExtentErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetExtentErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeTwiceL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeTwiceL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetExtentL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetExtentL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetSizeErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetSizeErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetExtentErrL(ETestSizeCacheNotEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeSetExtentErrL(ETestSizeCacheEnabled);
- TestRWindowCacheEntryExistsCacheDirtyToCleanSetSizeEnableWindowSizeCacheL();
- break;
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0711
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RBlankWindow Size cache behaviour
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Utilises RBlankWindow::SetSize, RBlankWindow::SetExtent, RBlankWindow::Size.
- Checks size returned by RBlankWindow::Size.
- Cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size returned should be last size set on window
-*/
- case 11:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0711"));
- iTest->LogSubTest(KTest11);
- TestRBlankWindowSetSizeSetExtentL(ETestSizeCacheNotEnabled);
- TestRBlankWindowSetSizeSetExtentL(ETestSizeCacheEnabled);
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0712
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RBackedUpWindow Size cache behaviour
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Utilises RBackedUpWindow::SetSizeErr, RBackedUpWindow::SetExtentErr, RBackedUpWindow::Size.
- Checks size returned by RBackedUpWindow::Size.
- Cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size returned should be last size set on window
-*/
- case 12:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0712"));
- iTest->LogSubTest(KTest12);
- TestRBackedUpWindowSetSizeErrSetExtentErrL(ETestSizeCacheNotEnabled);
- TestRBackedUpWindowSetSizeErrSetExtentErrL(ETestSizeCacheEnabled);
- break;
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0713
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Compare performance of RWindow::Size function with size cache on and off
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, optionally enables window size cache, creates an RWindowGroup and an RWindow
- Calls RWindow::Size KPerformanceIterations times.
- Measures time taken - with and without size cache enabled
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, time taken for KPerformanceIterations RWindow::Size() calls with cache enabled should be faster.
-*/
- case 13:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0713"));
- iTest->LogSubTest(KTest13);
- TUint64 sizeCacheOffDeltaMicroSeconds = TestRWindowSizePerformanceL(ETestSizeCacheNotEnabled, KPerformanceIterations);
- TUint64 sizeCacheOnDeltaMicroSeconds = TestRWindowSizePerformanceL(ETestSizeCacheEnabled, KPerformanceIterations);
- TEST(sizeCacheOnDeltaMicroSeconds < sizeCacheOffDeltaMicroSeconds);
- INFO_PRINTF1(_L("Accessing size using cache is faster"));
- }
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0714
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Randomised stress test - RWindow size related functions
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, creates some RWindowGroup and RWindow instances, performs random size related actions, cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size for each window matches last size set on window
-*/
- case 14:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0714"));
- iTest->LogSubTest(KTest14);
- TInt seed = Math::Random();
- // To replicate a test run, take the random seed from the test log and pass into SetRandomSeed
- SetRandomSeed(seed);
- TestRandomisedStressL(ETestSizeCacheNotEnabled, KStressTestIterations);
- }
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0714
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Randomised stress test - RWindow size related functions, size cache on
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, enables window size cache, creates some RWindowGroup and RWindow instances, performs random size related actions, cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size for each window matches last size set on window
-*/
- case 15:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0715"));
- iTest->LogSubTest(KTest15);
- TInt seed = Math::Random();
- // To replicate a test run, take the random seed from the test log and pass into SetRandomSeed
- SetRandomSeed(seed);
- TestRandomisedStressL(ETestSizeCacheEnabled, KStressTestIterations);
- }
- break;
-
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0716
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Randomised stress test - RWindow size related functions, multiple sessions
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates two RWsSession instances, creates some RWindowGroup and RWindow instances, performs random size related actions, cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size for each window matches last size set on window
-*/
- case 16:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0716"));
- iTest->LogSubTest(KTest16);
- TInt seed = Math::Random();
- // To replicate a test run, take the random seed from the test log and pass into SetRandomSeed
- SetRandomSeed(seed);
- TestRandomisedStressMultiSessionL(ETestSizeCacheNotEnabled, KStressTestIterations);
- }
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0717
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Randomised stress test - RWindow size related functions, multiple sessions, size cache on
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates two RWsSession instances, enables window size cache, creates some RWindowGroup and RWindow instances, performs random size related actions, cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size for each window matches last size set on window
-*/
- case 17:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0717"));
- iTest->LogSubTest(KTest17);
- TInt seed = Math::Random();
- // To replicate a test run, take the random seed from the test log and pass into SetRandomSeed
- SetRandomSeed(seed);
- TestRandomisedStressMultiSessionL(ETestSizeCacheEnabled, KStressTestIterations);
- }
- break;
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0718
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Randomised stress test - RWindow size related functions, large number of windows
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, creates some RWindowGroup and RWindow instances, performs random size related actions, cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size for each window matches last size set on window
-*/
- case 18:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0718"));
- iTest->LogSubTest(KTest18);
- TInt seed = Math::Random();
- // To replicate a test run, take the random seed from the test log and pass into SetRandomSeed
- SetRandomSeed(seed);
- TestRandomisedStressCacheEntryVolumeL(ETestSizeCacheNotEnabled, KStressTestIterations, KStressWindowPoolSize);
- }
- break;
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0719
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Randomised stress test - RWindow size related functions, large number of windows
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, enables window size cache, creates some RWindowGroup and RWindow instances, performs random size related actions, cleans up.
-
-@SYMTestExpectedResults Window objects created successfully, no memory leaks, size for each window matches last size set on window
-*/
- case 19:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0719"));
- iTest->LogSubTest(KTest19);
- TInt seed = Math::Random();
- // To replicate a test run, take the random seed from the test log and pass into SetRandomSeed
- SetRandomSeed(seed);
- TestRandomisedStressCacheEntryVolumeL(ETestSizeCacheEnabled, KStressTestIterations, KStressWindowPoolSize);
- }
- break;
-
-/**
-@SYMTestCaseID GRAPHICS-WSERV-0720
-
-@SYMDEF DevCR BBRE-7UWGHL
-
-@SYMTestCaseDesc Test RWsSession::EnableWindowSizeCacheL() API
-
-@SYMTestPriority High
-
-@SYMTestStatus Implemented
-
-@SYMTestActions Creates an RWsSession, calls EnableWindowSizeCacheL() multiple times, uses Size related APIs.
-
-@SYMTestExpectedResults No memory leaks.
-*/
- case 20:
- {
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0720"));
- iTest->LogSubTest(KTest20);
- TestStressEnableWindowSizeCacheL(KStressTestIterations);
- }
- break;
- default:
- ((CTWindowSizeCacheTestStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
- ((CTWindowSizeCacheTestStep*)iStep)->CloseTMSGraphicsStep();
- TestComplete();
- break;
- }
- ((CTWindowSizeCacheTestStep*)iStep)->RecordTestResultL();
- }
-
-__WS_CONSTRUCT_STEP__(WindowSizeCacheTest)