sl@0: // Copyright (c) 1996-2010 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #include "T_PDRLST.H" sl@0: sl@0: sl@0: class CTPdrLst : public CTGraphicsBase sl@0: { sl@0: public: sl@0: CTPdrLst(CTestStep* aStep); sl@0: ~CTPdrLst(); sl@0: protected: sl@0: //from CTGraphicsStep sl@0: virtual void RunTestCaseL(TInt aCurTestCase); sl@0: virtual void ConstructL(); sl@0: private: sl@0: void Test1(); sl@0: private: sl@0: CPdrModelList* iModelList; sl@0: }; sl@0: sl@0: CTPdrLst::CTPdrLst(CTestStep* aStep) : sl@0: CTGraphicsBase(aStep) sl@0: { sl@0: sl@0: } sl@0: sl@0: CTPdrLst::~CTPdrLst() sl@0: { sl@0: // clean up sl@0: INFO_PRINTF1( _L( "- Destroy the CPdrModelList" ) ); sl@0: delete iModelList; sl@0: } sl@0: sl@0: void CTPdrLst::ConstructL() sl@0: { sl@0: INFO_PRINTF1( _L( "Testing PdrList" ) ); sl@0: INFO_PRINTF1( _L( "- Create a CPdrModelList" ) ); sl@0: iModelList = CPdrModelList::NewL(); sl@0: } sl@0: sl@0: sl@0: void CTPdrLst::Test1() sl@0: { sl@0: INFO_PRINTF1( _L( "- Check that there are no models in the list" ) ); sl@0: TInt numModels = iModelList->ModelCount(); sl@0: TEST(numModels == 0); sl@0: sl@0: INFO_PRINTF1( _L( "- Add a directory to the search path" ) ); sl@0: TFileName dir( _L( "z:" ) ); sl@0: dir.Append( KDefaultPrinterDriverPath ); sl@0: TRAPD(ret, iModelList->AddDirectoryL(dir) ); sl@0: INFO_PRINTF2( _L( "ret %d\n" ), ret ); sl@0: TEST( ret == KErrNone ); sl@0: sl@0: INFO_PRINTF1( _L( "- Scan the search path for models" ) ); sl@0: TRAP( ret, (void)iModelList->ScanForModelsL() ); sl@0: TEST( ret == KErrNone ); sl@0: numModels = iModelList->ModelCount(); sl@0: INFO_PRINTF2( _L( " Models found: %d\n" ), numModels ); sl@0: sl@0: TPrinterModelEntry entry; sl@0: for ( TInt i = 0; i < numModels; i++ ) sl@0: { sl@0: entry = (*iModelList)[i]; sl@0: INFO_PRINTF2( _L( "ModelName %S\n" ), &entry.iModelName ); sl@0: } sl@0: sl@0: INFO_PRINTF1( _L( "- Create a new printer driver" ) ); sl@0: RDebug::Print( _L( "Drivers: %d\r\n" ), numModels ); sl@0: CPrinterDriver* driver = NULL; sl@0: TRAP( ret, driver = iModelList->CreatePrinterDriverL( numModels - 1 ) ); sl@0: TEST( ret == KErrNone ); sl@0: sl@0: INFO_PRINTF1( _L( "- Get the model name of the new printer device from PdrStore" ) ); sl@0: TBuf<256> buf = driver->PrinterDevice()->Model().iModelName.Ptr(); sl@0: INFO_PRINTF2( _L( " Name of current model: %S\n" ), &buf ); sl@0: sl@0: // tidy up sl@0: delete driver; sl@0: } sl@0: sl@0: void CTPdrLst::RunTestCaseL(TInt aCurTestCase) sl@0: // Test the model list interface to PdrStore. sl@0: // sl@0: { sl@0: ((CTPdrLstStep*)iStep)->SetTestStepID(KUnknownSYMTestCaseIDName); sl@0: switch(aCurTestCase) sl@0: { sl@0: case 1: sl@0: /** sl@0: @SYMTestCaseID GRAPHICS-PDRLST-0001 sl@0: */ sl@0: ((CTPdrLstStep*)iStep)->SetTestStepID(_L("GRAPHICS-PDRLST-0001")); sl@0: Test1(); sl@0: break; sl@0: case 2: sl@0: ((CTPdrLstStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName); sl@0: ((CTPdrLstStep*)iStep)->CloseTMSGraphicsStep(); sl@0: TestComplete(); sl@0: break; sl@0: } sl@0: ((CTPdrLstStep*)iStep)->RecordTestResultL(); sl@0: } sl@0: sl@0: //-------------- sl@0: __CONSTRUCT_STEP__(PdrLst) sl@0: sl@0: