1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/textandloc/charconvfw/charconvplugins/test/rtest/tsrc/main/t_snm.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,156 @@
1.4 +/*
1.5 +* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +#include <e32std.h>
1.23 +#include <e32base.h>
1.24 +#include <f32file.h>
1.25 +#include <charconv.h>
1.26 +#include "t_snm.h"
1.27 +
1.28 +#define test(cond) \
1.29 + { \
1.30 + TBool __bb = (cond); \
1.31 + TEST(__bb); \
1.32 + if (!__bb) \
1.33 + { \
1.34 + ERR_PRINTF1(_L("ERROR: Test Failed")); \
1.35 + User::Leave(1); \
1.36 + } \
1.37 + }
1.38 +
1.39 +
1.40 +/**
1.41 +@SYMTestCaseID SYSLIB-CHARCONV-CT-0547
1.42 +@SYMTestCaseDesc Testing SNM files
1.43 +@SYMTestPriority Medium
1.44 +@SYMTestActions Tests for conversions from UIDs to Standard names and MIB enums
1.45 +@SYMTestExpectedResults Test must not fail
1.46 +@SYMREQ REQ0000
1.47 +*/
1.48 +void CT_SNM::DoE32MainL()
1.49 + {
1.50 + RFs fileServerSession;
1.51 + CleanupClosePushL(fileServerSession);
1.52 + User::LeaveIfError(fileServerSession.Connect());
1.53 + CCnvCharacterSetConverter* characterSetConverter=CCnvCharacterSetConverter::NewLC();
1.54 + INFO_PRINTF1(_L(" @SYMTestCaseID:SYSLIB-CHARCONV-CT-0547 Testing SNM files (conversion between UIDs and Standard names/MIB enums) "));
1.55 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ANSI_X3.4-1968"), fileServerSession)==KCharacterSetIdentifierAscii);
1.56 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("iso-ir-6"), fileServerSession)==KCharacterSetIdentifierAscii);
1.57 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ANSI_X3.4-1986"), fileServerSession)==KCharacterSetIdentifierAscii);
1.58 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ISO_646.irv:1991"), fileServerSession)==KCharacterSetIdentifierAscii);
1.59 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ISO646-US"), fileServerSession)==KCharacterSetIdentifierAscii);
1.60 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("us"), fileServerSession)==KCharacterSetIdentifierAscii);
1.61 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("IBM367"), fileServerSession)==KCharacterSetIdentifierAscii);
1.62 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("cp367"), fileServerSession)==KCharacterSetIdentifierAscii);
1.63 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("csASCII"), fileServerSession)==KCharacterSetIdentifierAscii);
1.64 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(3, fileServerSession)==KCharacterSetIdentifierAscii);
1.65 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("DUMMY CHARACTER SET"), fileServerSession)==0x000eb205);
1.66 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9415824, fileServerSession)==0x000eb205);
1.67 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(103, fileServerSession)==KCharacterSetIdentifierUtf7);
1.68 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(104, fileServerSession)==KCharacterSetIdentifierUtf7);
1.69 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(18, fileServerSession)==KCharacterSetIdentifierEucJpPacked);
1.70 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(17, fileServerSession)==KCharacterSetIdentifierShiftJis);
1.71 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(2026, fileServerSession)==KCharacterSetIdentifierBig5);
1.72 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(57, fileServerSession)==KCharacterSetIdentifierGbk);
1.73 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(2025, fileServerSession)==KCharacterSetIdentifierGbk);
1.74 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(4, fileServerSession)==KCharacterSetIdentifierIso88591);
1.75 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(1000, fileServerSession)==KCharacterSetIdentifierUcs2);
1.76 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("UTF-8"), fileServerSession)==KCharacterSetIdentifierUtf8);
1.77 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("windows-1252"), fileServerSession)==KCharacterSetIdentifierCodePage1252);
1.78 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("iso-ir-58"), fileServerSession)==KCharacterSetIdentifierGbk);
1.79 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("chinese"), fileServerSession)==KCharacterSetIdentifierGbk);
1.80 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("CHINESE"), fileServerSession)==KCharacterSetIdentifierGbk);
1.81 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("Big5"), fileServerSession)==KCharacterSetIdentifierBig5);
1.82 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("csISO2022JP"), fileServerSession)==KCharacterSetIdentifierIso2022Jp);
1.83 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("JIS_Encoding"), fileServerSession)==KCharacterSetIdentifierJis);
1.84 + test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(KCharacterSetIdentifierEucJpPacked, fileServerSession)==18);
1.85 + test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(KCharacterSetIdentifierUtf7, fileServerSession)==103);
1.86 + test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(KCharacterSetIdentifierGbk, fileServerSession)==113);
1.87 + HBufC8* const standardName1=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(KCharacterSetIdentifierUtf8, fileServerSession);
1.88 + test(*standardName1==_L8("UTF-8"));
1.89 + delete standardName1;
1.90 + HBufC8* const standardName2=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(KCharacterSetIdentifierShiftJis, fileServerSession);
1.91 + test(*standardName2==_L8("Shift_JIS"));
1.92 + delete standardName2;
1.93 + HBufC8* const standardName3=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(KCharacterSetIdentifierBig5, fileServerSession);
1.94 + test(*standardName3==_L8("Big5"));
1.95 + delete standardName3;
1.96 + CleanupStack::PopAndDestroy(1); // characterSetConverter
1.97 +
1.98 + //Add more test steps for DEF085268. When a related charset ID with Name is not found in rom drive
1.99 + //and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return 0.
1.100 + characterSetConverter=CCnvCharacterSetConverter::NewLC();
1.101 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("NONEXIST CHARACTER SET 1"), fileServerSession)==0);
1.102 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("DUMMY CHARACTER SET"), fileServerSession)==0x000eb205);
1.103 + test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("NONEXIST CHARACTER SET 2"), fileServerSession)==0);
1.104 + CleanupStack::PopAndDestroy(1); // characterSetConverter
1.105 +
1.106 + //Add more test steps for DEF085268. When a related charset name with ID is not found in rom drive
1.107 + //and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return NULL.
1.108 + characterSetConverter=CCnvCharacterSetConverter::NewLC();
1.109 + HBufC8* const standardName4=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(0xFFFFFFFE, fileServerSession);
1.110 + test(standardName4==NULL);
1.111 + delete standardName4;
1.112 + HBufC8* const standardName5=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(0x000eb205, fileServerSession);
1.113 + test(*standardName5==_L8("Dummy character set"));
1.114 + delete standardName5;
1.115 + HBufC8* const standardName6=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(0xFFFFFFFF, fileServerSession);
1.116 + test(standardName6==NULL);
1.117 + delete standardName6;
1.118 + CleanupStack::PopAndDestroy(1); // characterSetConverter
1.119 +
1.120 +
1.121 + //Add more test steps for DEF085268. When a related charset ID with MibEnum is not found in rom drive
1.122 + //and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return 0.
1.123 + characterSetConverter=CCnvCharacterSetConverter::NewLC();
1.124 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9999998, fileServerSession)==0);
1.125 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9415824, fileServerSession)==0x000eb205);
1.126 + test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9999999, fileServerSession)==0);
1.127 + CleanupStack::PopAndDestroy(1); // characterSetConverter
1.128 +
1.129 + //Add more test steps for DEF085268. When a related charset MibEnum with ID is not found in rom drive
1.130 + //and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return 0.
1.131 + characterSetConverter=CCnvCharacterSetConverter::NewLC();
1.132 + test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(0xFFFFFFFE, fileServerSession)==0);
1.133 + test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(0x000eb205, fileServerSession)==9415824);
1.134 + test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(0xFFFFFFFF, fileServerSession)==0);
1.135 + CleanupStack::PopAndDestroy(2); // characterSetConverter and file session
1.136 +
1.137 + }
1.138 +
1.139 +CT_SNM::CT_SNM()
1.140 + {
1.141 + SetTestStepName(KTestStep_T_SNM);
1.142 + }
1.143 +
1.144 +TVerdict CT_SNM::doTestStepL()
1.145 + {
1.146 + SetTestStepResult(EFail);
1.147 +
1.148 + __UHEAP_MARK;
1.149 + TRAPD(error1, DoE32MainL());
1.150 + __UHEAP_MARKEND;
1.151 +
1.152 + if(error1 == KErrNone)
1.153 + {
1.154 + SetTestStepResult(EPass);
1.155 + }
1.156 +
1.157 + return TestStepResult();
1.158 + }
1.159 +