os/textandloc/charconvfw/charconvplugins/test/rtest/tsrc/main/t_snm.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: 
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
#include <e32std.h>
sl@0
    20
#include <e32base.h>
sl@0
    21
#include <f32file.h>
sl@0
    22
#include <charconv.h>
sl@0
    23
#include "t_snm.h"
sl@0
    24
sl@0
    25
#define test(cond)                                  \
sl@0
    26
    {                                               \
sl@0
    27
    TBool __bb = (cond);                            \
sl@0
    28
    TEST(__bb);                                     \
sl@0
    29
    if (!__bb)                                      \
sl@0
    30
        {                                           \
sl@0
    31
        ERR_PRINTF1(_L("ERROR: Test Failed"));      \
sl@0
    32
        User::Leave(1);                             \
sl@0
    33
        }                                           \
sl@0
    34
    }
sl@0
    35
sl@0
    36
sl@0
    37
/**
sl@0
    38
@SYMTestCaseID          SYSLIB-CHARCONV-CT-0547
sl@0
    39
@SYMTestCaseDesc        Testing SNM files
sl@0
    40
@SYMTestPriority        Medium
sl@0
    41
@SYMTestActions         Tests for conversions from UIDs to  Standard names and MIB enums
sl@0
    42
@SYMTestExpectedResults Test must not fail
sl@0
    43
@SYMREQ                 REQ0000
sl@0
    44
*/
sl@0
    45
void CT_SNM::DoE32MainL()
sl@0
    46
	{
sl@0
    47
	RFs fileServerSession;
sl@0
    48
	CleanupClosePushL(fileServerSession);
sl@0
    49
	User::LeaveIfError(fileServerSession.Connect());
sl@0
    50
	CCnvCharacterSetConverter* characterSetConverter=CCnvCharacterSetConverter::NewLC();
sl@0
    51
	INFO_PRINTF1(_L(" @SYMTestCaseID:SYSLIB-CHARCONV-CT-0547 Testing SNM files (conversion between UIDs and Standard names/MIB enums) "));
sl@0
    52
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ANSI_X3.4-1968"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    53
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("iso-ir-6"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    54
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ANSI_X3.4-1986"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    55
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ISO_646.irv:1991"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    56
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("ISO646-US"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    57
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("us"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    58
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("IBM367"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    59
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("cp367"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    60
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("csASCII"), fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    61
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(3, fileServerSession)==KCharacterSetIdentifierAscii);
sl@0
    62
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("DUMMY CHARACTER SET"), fileServerSession)==0x000eb205);
sl@0
    63
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9415824, fileServerSession)==0x000eb205);
sl@0
    64
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(103, fileServerSession)==KCharacterSetIdentifierUtf7);
sl@0
    65
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(104, fileServerSession)==KCharacterSetIdentifierUtf7);
sl@0
    66
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(18, fileServerSession)==KCharacterSetIdentifierEucJpPacked);
sl@0
    67
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(17, fileServerSession)==KCharacterSetIdentifierShiftJis);
sl@0
    68
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(2026, fileServerSession)==KCharacterSetIdentifierBig5);
sl@0
    69
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(57, fileServerSession)==KCharacterSetIdentifierGbk);
sl@0
    70
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(2025, fileServerSession)==KCharacterSetIdentifierGbk);
sl@0
    71
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(4, fileServerSession)==KCharacterSetIdentifierIso88591);
sl@0
    72
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(1000, fileServerSession)==KCharacterSetIdentifierUcs2);
sl@0
    73
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("UTF-8"), fileServerSession)==KCharacterSetIdentifierUtf8);
sl@0
    74
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("windows-1252"), fileServerSession)==KCharacterSetIdentifierCodePage1252);
sl@0
    75
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("iso-ir-58"), fileServerSession)==KCharacterSetIdentifierGbk);
sl@0
    76
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("chinese"), fileServerSession)==KCharacterSetIdentifierGbk);
sl@0
    77
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("CHINESE"), fileServerSession)==KCharacterSetIdentifierGbk);
sl@0
    78
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("Big5"), fileServerSession)==KCharacterSetIdentifierBig5);
sl@0
    79
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("csISO2022JP"), fileServerSession)==KCharacterSetIdentifierIso2022Jp);
sl@0
    80
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("JIS_Encoding"), fileServerSession)==KCharacterSetIdentifierJis);
sl@0
    81
	test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(KCharacterSetIdentifierEucJpPacked, fileServerSession)==18);
sl@0
    82
	test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(KCharacterSetIdentifierUtf7, fileServerSession)==103);
sl@0
    83
	test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(KCharacterSetIdentifierGbk, fileServerSession)==113);
sl@0
    84
	HBufC8* const standardName1=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(KCharacterSetIdentifierUtf8, fileServerSession);
sl@0
    85
	test(*standardName1==_L8("UTF-8"));
sl@0
    86
	delete standardName1;
sl@0
    87
	HBufC8* const standardName2=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(KCharacterSetIdentifierShiftJis, fileServerSession);
sl@0
    88
	test(*standardName2==_L8("Shift_JIS"));
sl@0
    89
	delete standardName2;
sl@0
    90
	HBufC8* const standardName3=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(KCharacterSetIdentifierBig5, fileServerSession);
sl@0
    91
	test(*standardName3==_L8("Big5"));
sl@0
    92
	delete standardName3;
sl@0
    93
	CleanupStack::PopAndDestroy(1); // characterSetConverter
sl@0
    94
sl@0
    95
	//Add more test steps for DEF085268. When a related charset ID with Name is not found in rom drive
sl@0
    96
	//and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return 0.
sl@0
    97
	characterSetConverter=CCnvCharacterSetConverter::NewLC();
sl@0
    98
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("NONEXIST CHARACTER SET 1"), fileServerSession)==0);
sl@0
    99
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("DUMMY CHARACTER SET"), fileServerSession)==0x000eb205);
sl@0
   100
	test(characterSetConverter->ConvertStandardNameOfCharacterSetToIdentifierL(_L8("NONEXIST CHARACTER SET 2"), fileServerSession)==0);
sl@0
   101
	CleanupStack::PopAndDestroy(1); // characterSetConverter
sl@0
   102
sl@0
   103
	//Add more test steps for DEF085268. When a related charset name with ID is not found in rom drive
sl@0
   104
	//and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return NULL.
sl@0
   105
	characterSetConverter=CCnvCharacterSetConverter::NewLC();
sl@0
   106
	HBufC8* const standardName4=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(0xFFFFFFFE, fileServerSession);
sl@0
   107
	test(standardName4==NULL);
sl@0
   108
	delete standardName4;
sl@0
   109
	HBufC8* const standardName5=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(0x000eb205, fileServerSession);
sl@0
   110
	test(*standardName5==_L8("Dummy character set"));
sl@0
   111
	delete standardName5;
sl@0
   112
	HBufC8* const standardName6=characterSetConverter->ConvertCharacterSetIdentifierToStandardNameL(0xFFFFFFFF, fileServerSession);
sl@0
   113
	test(standardName6==NULL);
sl@0
   114
	delete standardName6;
sl@0
   115
	CleanupStack::PopAndDestroy(1); // characterSetConverter
sl@0
   116
sl@0
   117
sl@0
   118
	//Add more test steps for DEF085268. When a related charset ID with MibEnum is not found in rom drive
sl@0
   119
	//and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return 0.
sl@0
   120
	characterSetConverter=CCnvCharacterSetConverter::NewLC();
sl@0
   121
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9999998, fileServerSession)==0);
sl@0
   122
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9415824, fileServerSession)==0x000eb205);
sl@0
   123
	test(characterSetConverter->ConvertMibEnumOfCharacterSetToIdentifierL(9999999, fileServerSession)==0);
sl@0
   124
	CleanupStack::PopAndDestroy(1); // characterSetConverter
sl@0
   125
sl@0
   126
	//Add more test steps for DEF085268. When a related charset MibEnum with ID is not found in rom drive
sl@0
   127
	//and system hasn't been scanned yet, it will rescan the system. Otherwise, it will return 0.
sl@0
   128
	characterSetConverter=CCnvCharacterSetConverter::NewLC();
sl@0
   129
	test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(0xFFFFFFFE, fileServerSession)==0);
sl@0
   130
	test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(0x000eb205, fileServerSession)==9415824);
sl@0
   131
	test(characterSetConverter->ConvertCharacterSetIdentifierToMibEnumL(0xFFFFFFFF, fileServerSession)==0);
sl@0
   132
	CleanupStack::PopAndDestroy(2); // characterSetConverter and file session
sl@0
   133
sl@0
   134
	}
sl@0
   135
sl@0
   136
CT_SNM::CT_SNM()
sl@0
   137
    {
sl@0
   138
    SetTestStepName(KTestStep_T_SNM);
sl@0
   139
    }
sl@0
   140
sl@0
   141
TVerdict CT_SNM::doTestStepL()
sl@0
   142
    {
sl@0
   143
    SetTestStepResult(EFail);
sl@0
   144
sl@0
   145
    __UHEAP_MARK;
sl@0
   146
    TRAPD(error1, DoE32MainL());    
sl@0
   147
    __UHEAP_MARKEND;
sl@0
   148
sl@0
   149
    if(error1 == KErrNone)
sl@0
   150
        {
sl@0
   151
        SetTestStepResult(EPass);
sl@0
   152
        }
sl@0
   153
sl@0
   154
    return TestStepResult();
sl@0
   155
    }
sl@0
   156