Fix def files so that the implementation agnostic interface definition has no non-standards defined entry points, and change the eglrefimpl specific implementation to place its private entry points high up in the ordinal order space in the implementation region, not the standards based entrypoints region.
// 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);
}