diff -r 630d2f34d719 -r 07a122eea281 telephonyserverplugins/simtsy/testconfigfileparser/test/t_testconfigfileparser.cpp --- a/telephonyserverplugins/simtsy/testconfigfileparser/test/t_testconfigfileparser.cpp Tue Aug 31 16:23:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ -// Copyright (c) 2001-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: -// Tests classes defined in testconfigfileparser.h -// -// - -/** - @file t_testconfigfileparser.cpp - @since Hurricane - @copyright Copyright (c) 2001 Symbian Ltd. All rights reserved. -*/ - -#include -#include -#include //< for RTest -#include "testconfigfileparser.h" -#include - - -_LIT(KTestScriptFile, "t_testconfigfileparser.txt"); -_LIT(KTestScriptComponent, "testscripts"); -_LIT(KTestScriptComponentFull, "\\testscripts\\"); -_LIT(KTestScriptOutput, "c:\\output.txt"); - -CAutoTest* gAutoTest; -RTest gTest(_L("Test Config File Test")); - -void TestGetElementL(TInt aTestCase, const TDesC8& aInput, TChar aDel, TInt aIndex, const TDesC8& aExpected, TBool aTrimOutput=ETrue) - { - TPtrC8 item(KNullDesC8); - const TInt err = CTestConfig::GetElement(aInput, aDel, aIndex, item, aTrimOutput); - - const TInt KPrintfMaxLen = 200; - TBuf temp; - - if (aInput.Length() <= KPrintfMaxLen) - { - temp.Copy(aInput); - gTest.Printf(_L("aInput=\"%S\" "), &temp); - } - else - gTest.Printf(_L("aInput=TOO LONG ")); - - gTest.Printf(_L("aIndex=%d "), aIndex); - gTest.Printf(_L("aTimeOutput=%d "), aTrimOutput); - - if (aExpected.Length() <= KPrintfMaxLen) - { - temp.Copy(aExpected); - gTest.Printf(_L("aExpected=\"%S\" "), &temp); - } - else - gTest.Printf(_L("aExpected=TOO LONG ")); - - if (item.Length() <= KPrintfMaxLen) - { - temp.Copy(item); - gTest.Printf(_L("Get=\"%S\" "), &temp); - } - else - gTest.Printf(_L("Get=TOO LONG ")); - - gTest.Printf(_L("Err=%d\n"), err); - - GLOBAL_CHECKPOINT_COMPARE(err, KErrNone, _L("Error getting element")); - - temp.Format(_L("Element not expected [test=%d"), aTestCase); - GLOBAL_CHECKPOINT_COMPARE(!(item == aExpected), EFalse, temp); - } - -void TestGetElementL(const CTestConfig& aFile) - { - TInt sectionCount = aFile.Sections().Count(); - - while (sectionCount--) - { - const CTestConfigSection& section = aFile[sectionCount]; - - TInt itemCount = section.Items().Count(); - - while (itemCount--) - { - const CTestConfigItem& item = section[itemCount]; - TPtrC8 output(KNullDesC8); - aFile.GetElement(item.Value(), ',', 0, output); - } - } - } - -void TestParseFileL() - { - RFs fs; - User::LeaveIfError(fs.Connect()); - CleanupClosePushL(fs); - - TFindFile findFile(fs); - _LIT(KWild, "*.txt"); - - CDir* dirs=NULL; - User::LeaveIfError(findFile.FindWildByDir(KWild, KTestScriptComponentFull, dirs)); - - TInt count = dirs->Count(); - - while (count--) - { - const TFileName fileName((*dirs)[count].iName); - - CTestConfig* file = CTestConfig::NewLC(fs, KTestScriptComponent, fileName); - - file->WriteFileL(KTestScriptOutput); - - CTestConfig* output = CTestConfig::NewLC(fs, KTestScriptComponent, KTestScriptOutput); - - TBool test = (*output == *file); - - GLOBAL_CHECKPOINT_COMPARE(!test, EFalse, _L("Output != File")); - - TestGetElementL(*file); - - CleanupStack::PopAndDestroy(output); - CleanupStack::PopAndDestroy(file); - } - - CleanupStack::PopAndDestroy(&fs); - } - -const TInt del = ';'; -_LIT8(KFirst, "First"); -_LIT8(KMiddle, "Middle"); -_LIT8(KLast, "Last"); -_LIT8(KElem1, "First;Middle;Last"); -_LIT8(KElem2, " First; ;Last"); -_LIT8(KElem3, "; Middle ;Last"); -_LIT8(KElem4, "First;Middle; "); -_LIT8(KElem5, ";;"); - -void TestGetElementL() - { - TInt testCase = 0; - - TestGetElementL(++testCase, KElem1, del, 0, KFirst); - TestGetElementL(++testCase, KElem1, del, 1, KMiddle); - TestGetElementL(++testCase, KElem1, del, 2, KLast); - - TestGetElementL(++testCase, KElem2, del, 0, KFirst); - TestGetElementL(++testCase, KElem2, del, 1, KNullDesC8); - TestGetElementL(++testCase, KElem2, del, 2, KLast); - - TestGetElementL(++testCase, KElem3, del, 0, KNullDesC8); - TestGetElementL(++testCase, KElem3, del, 1, KMiddle); - TestGetElementL(++testCase, KElem3, del, 2, KLast); - - TestGetElementL(++testCase, KElem4, del, 0, KFirst); - TestGetElementL(++testCase, KElem4, del, 1, KMiddle); - TestGetElementL(++testCase, KElem4, del, 2, KNullDesC8); - - TestGetElementL(++testCase, KElem5, del, 0, KNullDesC8); - TestGetElementL(++testCase, KElem5, del, 1, KNullDesC8); - TestGetElementL(++testCase, KElem5, del, 2, KNullDesC8); - } - -void PrepareBuf(TDes8& aOutput, TInt aLeadingSpaces, const TDesC8& aInput, TInt aTrailingSpaces) - { - const TInt KSpace = ' '; - aOutput.Zero(); - aOutput.AppendFill(KSpace, aLeadingSpaces); - aOutput.Append(aInput); - aOutput.AppendFill(KSpace, aTrailingSpaces); - } - -void TestGetElementWithoutTrimL() - { - TInt testCase = 0; - TBuf8<32> temp; - - TestGetElementL(++testCase, KElem1, del, 0, KFirst, EFalse); - TestGetElementL(++testCase, KElem1, del, 1, KMiddle, EFalse); - TestGetElementL(++testCase, KElem1, del, 2, KLast, EFalse); - - PrepareBuf(temp, 4, KFirst, 0); - TestGetElementL(++testCase, KElem2, del, 0, temp, EFalse); - PrepareBuf(temp, 11, KNullDesC8, 0); - TestGetElementL(++testCase, KElem2, del, 1, temp, EFalse); - TestGetElementL(++testCase, KElem2, del, 2, KLast, EFalse); - - TestGetElementL(++testCase, KElem3, del, 0, KNullDesC8, EFalse); - PrepareBuf(temp, 3, KMiddle, 7); - TestGetElementL(++testCase, KElem3, del, 1, temp, EFalse); - TestGetElementL(++testCase, KElem3, del, 2, KLast, EFalse); - - TestGetElementL(++testCase, KElem4, del, 0, KFirst, EFalse); - TestGetElementL(++testCase, KElem4, del, 1, KMiddle, EFalse); - PrepareBuf(temp, 5, KNullDesC8, 0); - TestGetElementL(++testCase, KElem4, del, 2, temp, EFalse); - - TestGetElementL(++testCase, KElem5, del, 0, KNullDesC8, EFalse); - TestGetElementL(++testCase, KElem5, del, 1, KNullDesC8, EFalse); - TestGetElementL(++testCase, KElem5, del, 2, KNullDesC8, EFalse); - - TPtrC8 output; - const TInt err = CTestConfig::GetElement(KNullDesC8, 0, 0, output); - GLOBAL_CHECKPOINT(err != KErrNone); - } - - -// Set up the array of test functions, which make the API calls -LOCAL_C const TAutoTestCase Cases[] = - { - {TestParseFileL,_S("Parse File")}, - {TestGetElementL,_S("Get Element")}, - {TestGetElementWithoutTrimL,_S("Get Element Without Trim")} - }; - -void AutoTestExecuteL() - { - _LIT(KDummyTests,"TestConfigFileParser_testreport.txt"); - _LIT8(KComponentInfo,"TestConfigFileParser"); - // Library defined macro - // Uses a global pointer instance of CAutoTest - GLOBAL_AUTOTEST_EXECUTE(Cases, KDummyTests, KComponentInfo, gTest); - } - -TInt E32Main() -/** - * Main - */ - { - CTrapCleanup* cleanup = CTrapCleanup::New(); - - __UHEAP_MARK; - - gTest.SetLogged(ETrue); - gTest.Title(); - gTest.Start(_L("Starting tests...")); - - TRAPD(err, AutoTestExecuteL()); - - if (err!=KErrNone) - gTest.Printf(_L("ERROR: Leave %d\n"),err); - - gTest.Printf(_L("Test Complete. Press any key ...\n")); - gTest.Getch(); - gTest.End(); - gTest.Close(); - - __UHEAP_MARKEND; - - delete cleanup; - return KErrNone; - }