--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/commongraphicsheaders/test/src/tdisplayconfiguration.cpp Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,431 @@
+// Copyright (c) 2008-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:
+// Test class for TDisplayConfiguration
+//
+//
+
+#include "tdisplayconfiguration.h"
+#include <test/extendtef.h>
+
+#include "../inc/displayconfiguration.h"
+
+// This handles any non-member uses of the extended ASSERT_XXX macros
+void TefUnitFailLeaveL()
+ {
+
+ User::Leave(KErrTEFUnitFail);
+ }
+
+// Create a suite of all the tests
+CTestSuite* CTestDisplayConfiguration::CreateSuiteL(const TDesC& aName)
+ {
+ SUB_SUITE_OPT(CTestDisplayConfiguration,NULL);
+
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0001L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0002L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0003L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0004L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0005L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0006L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0007L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0008L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0009L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0010L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0011L);
+ ADD_THIS_TEST_STEP(GRAPHICS_COMMONHEADER_0012L);
+
+ END_SUITE;
+ }
+
+// Published Tests
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0001L
+@SYMTestCaseDesc TDisplayConfiguration field validation
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Check default configuration is empty
+@SYMTestActions
+ Create an instance of TDisplayConfiguration
+ Check default version is size of TDisplayConfiguration
+ Check each member is not defined and does not change a passed in field
+@SYMTestExpectedResults
+ Holds correct size and fields are empty
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0001L()
+ {
+ TDisplayConfiguration testConfig;
+
+ ASSERT_EQUALS (testConfig.Version(),(TInt)sizeof(testConfig));
+
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+
+ TSize size(10,11);
+ ASSERT_FALSE (testConfig.GetResolution(size));
+ ASSERT_EQUALS (size,TSize(10,11));
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0002L
+@SYMTestCaseDesc Setting TDisplayConfiguration variables
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Check setting variables works correctly
+@SYMTestActions
+ Set resolution 1
+ Check resolution 1 set
+ Set resolution 2
+ Check resolution 2 set
+ Set twips resolution 1
+ Check twips resolution 1 set
+ Set twips resolution 2
+ Check twips resolution 2 set
+@SYMTestExpectedResults
+ All 'gets' return as expected
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0002L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize sizeSet1(10,11);
+ TSize sizeSet2(12,13);
+ TSize sizeCheck1(14,15);
+ TSize sizeCheck2(16,17);
+ TSize twipsSizeSet1(7620,2858);
+ TSize twipsSizeSet2(7630,2868);
+ TSize twipsSizeCheck1(7640,2878);
+ TSize twipsSizeCheck2(7650,2888);
+
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ //Set size check
+ testConfig.SetResolution(sizeSet1);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_TRUE (testConfig.GetResolution(sizeCheck1));
+ ASSERT_EQUALS (sizeSet1,sizeCheck1);
+ //Set size check 2
+ testConfig.SetResolution(sizeSet2);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_TRUE (testConfig.GetResolution(sizeCheck2));
+ ASSERT_EQUALS (sizeSet2,sizeCheck2);
+ //Set twips check
+ testConfig.SetResolutionTwips(twipsSizeSet1);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolutionTwips));
+ ASSERT_TRUE (testConfig.GetResolutionTwips(twipsSizeCheck1));
+ ASSERT_EQUALS (twipsSizeSet1,twipsSizeCheck1);
+ //Set twips check 2
+ testConfig.SetResolutionTwips(twipsSizeSet2);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolutionTwips));
+ ASSERT_TRUE (testConfig.GetResolutionTwips(twipsSizeCheck2));
+ ASSERT_EQUALS (twipsSizeSet2,twipsSizeCheck2);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0003L
+@SYMTestCaseDesc Clearing TDisplayConfiguration variables
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Checking Clear works as expected
+@SYMTestActions
+ Set resolution
+ Clear resolution
+ Get resolution *should do nothing*
+@SYMTestExpectedResults
+ Clears variables as expected
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0003L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size1(10,11);
+ TSize size2(12,13);
+ TSize size2copy(size2);
+
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ testConfig.SetResolution(size1);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ testConfig.Clear(TDisplayConfiguration::EResolution);
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_FALSE (testConfig.GetResolution(size2));
+ //check size2 has not been changed
+ ASSERT_EQUALS (size2,size2copy);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0004L
+@SYMTestCaseDesc Clear all TDisplayConfiguration variables
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Check ClearAll performs correctly
+@SYMTestActions
+ Set resolution
+ Set color
+ ClearAll()
+ Get resolution *should do nothing*
+@SYMTestExpectedResults
+ ClearAll should clear all!
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0004L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size1(10,11);
+ TSize size2(12,13);
+ TSize size2copy(size2);
+
+ TRgb color1(50,255);
+ TRgb color2(52,255);
+ TRgb color2copy(color2);
+
+ //set values
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ testConfig.SetResolution(size1);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+
+ testConfig.ClearAll();
+
+ //check cleared variables
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_FALSE (testConfig.GetResolution(size2));
+ //check size2 has not been changed
+ ASSERT_EQUALS(size2,size2copy);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0005L
+@SYMTestCaseDesc TDisplayConfiguration copy operator
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Checking copy works correctly
+@SYMTestActions
+ Set values
+ Make a copy
+ Check copy has copied values
+ Make slight changes to copy, check operator== works (thorough test fo coverage)
+@SYMTestExpectedResults
+ Should copy variables to new config
+ Should perform operator== correctly
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0005L()
+ {
+ TDisplayConfiguration testConfig1;
+
+ TSize size1(10,11);
+ TSize size2(12,13);
+ TSize sizeTemp(0,1);
+ TDisplayConfiguration1::TRotation rotTemp = TDisplayConfiguration1::ERotationIllegal;
+
+ testConfig1.SetResolution(size1);
+ testConfig1.SetResolutionTwips(size2);
+ testConfig1.SetRotation(TDisplayConfiguration1::ERotationNormal);
+
+ TDisplayConfiguration testConfig2(testConfig1);
+
+ ASSERT_TRUE (testConfig2.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_TRUE (testConfig2.GetResolution(sizeTemp));
+ ASSERT_EQUALS (size1,sizeTemp);
+
+ ASSERT_TRUE (testConfig2.IsDefined(TDisplayConfiguration::EResolutionTwips));
+ ASSERT_TRUE (testConfig2.GetResolutionTwips(sizeTemp));
+ ASSERT_EQUALS (size2,sizeTemp);
+
+ ASSERT_TRUE (testConfig2.IsDefined(TDisplayConfiguration::ERotation));
+ ASSERT_TRUE (testConfig2.GetRotation(rotTemp));
+ ASSERT_EQUALS (rotTemp,TDisplayConfiguration1::ERotationNormal);
+
+ ASSERT_TRUE (testConfig1==testConfig2);
+
+ testConfig1.Clear(TDisplayConfiguration::EResolution);
+ testConfig2.Clear(TDisplayConfiguration::EResolution);
+ testConfig1.Clear(TDisplayConfiguration::EResolutionTwips);
+ testConfig2.Clear(TDisplayConfiguration::EResolutionTwips);
+ testConfig1.Clear(TDisplayConfiguration::ERotation);
+ testConfig2.Clear(TDisplayConfiguration::ERotation);
+
+ ASSERT_TRUE (testConfig1==testConfig2);
+
+ TDisplayConfiguration largeConfig(200);
+ TDisplayConfiguration emptyConfig;
+ ASSERT_FALSE (largeConfig==emptyConfig);
+ ASSERT_FALSE (emptyConfig==largeConfig);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0006L
+@SYMTestCaseDesc Small configs do nothing
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Older config versions should not try to access newer variables
+@SYMTestActions
+ Create very small config
+ Set resolution
+ Get resolution *should not have set it*
+@SYMTestExpectedResults
+ Setting when version is too old should fail silently. No returned error, no panic
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0006L()
+ {
+ TDisplayConfiguration testConfig(sizeof(TDisplayConfigurationBase));
+
+ TSize size1(10,11);
+ TSize size2(12,13);
+
+ testConfig.SetResolution(size1);
+ ASSERT_FALSE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_FALSE (testConfig.GetResolution(size2));
+ ASSERT_NOT_EQUALS (size1,size2);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0007L
+@SYMTestCaseDesc Negative resolution panics client
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Negative resolutions are not allowed and should panic the client
+@SYMTestActions
+ Set negative X resolution
+@SYMTestExpectedResults
+ Should panic with DISPCONF 1
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0007L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size(-10,10);
+ testConfig.SetResolution(size);
+
+ //Should not get here
+ ASSERT_TRUE(0);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0008L
+@SYMTestCaseDesc Negative resolution panics client
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose Negative resolutions are not allowed and should panic the client
+@SYMTestActions
+ Set negative Y resolution
+@SYMTestExpectedResults
+ Should panic with DISPCONF 1
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0008L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size(10,-10);
+ testConfig.SetResolution(size);
+
+ //Should not get here
+ ASSERT_TRUE(0);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0009L
+@SYMTestCaseDesc One resolution axis 0 panics client
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose A resolution with only 1 axis at 0 is invalid
+@SYMTestActions
+ Set 0 on X axis only for resolution
+@SYMTestExpectedResults
+ Should panic with DISPCONF 2
+
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0009L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size(0,10);
+ testConfig.SetResolution(size);
+
+ //Should not get here
+ ASSERT_TRUE(0);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0010L
+@SYMTestCaseDesc One resolution axis 0 panics client
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose A resolution with only 1 axis at 0 is invalid
+@SYMTestActions
+ Set 0 on Y axis only for resolution
+@SYMTestExpectedResults
+ Should panic with DISPCONF 2
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0010L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size(10,0);
+ testConfig.SetResolution(size);
+
+ //Should not get here
+ ASSERT_TRUE(0);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0011L
+@SYMTestCaseDesc Both resolution axis 0 valid
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose A resolution with only both axis at 0 is valid
+@SYMTestActions
+ Set 0 on both axes for resolution
+@SYMTestExpectedResults
+ Should complete and be able to return the same size
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0011L()
+ {
+ TDisplayConfiguration testConfig;
+
+ TSize size1(0,0);
+ TSize size2(1,2);
+ testConfig.SetResolution(size1);
+ ASSERT_TRUE (testConfig.IsDefined(TDisplayConfiguration::EResolution));
+ ASSERT_TRUE (testConfig.GetResolution(size2));
+ ASSERT_EQUALS (size1,size2);
+ }
+
+/**
+@SYMTestCaseID GRAPHICS_COMMONHEADER_0012L
+@SYMTestCaseDesc Invalid preferred version causes panic
+@SYMREQ REQ10325
+@SYMPREQ PREQ2102
+@SYMTestType CT
+@SYMTestPurpose An invalid version will cause a panic
+@SYMTestActions
+ Set version to be 1
+ Should panic
+@SYMTestExpectedResults
+ Should panic with DISPCONF 7
+**/
+void CTestDisplayConfiguration::GRAPHICS_COMMONHEADER_0012L()
+ {
+ TDisplayConfiguration testConfig (1);
+
+ //Should not get here
+ ASSERT_TRUE(0);
+ }