diff -r ccb4f6b3db21 -r 8cb079868133 sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysstatemgmt/tsrc/public/basic/MT_SysLangUtil/MT_SysLangUtil.cpp Wed Sep 01 12:34:26 2010 +0100 @@ -0,0 +1,175 @@ +/* +* Copyright (c) 2002 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: ?Description +* +*/ + + +// CLASS HEADER +#include "MT_SysLangUtil.h" + +// EXTERNAL INCLUDES +#include +#include +#include + +// CONSTRUCTION +MT_SysLangUtil* MT_SysLangUtil::NewL() + { + MT_SysLangUtil* self = MT_SysLangUtil::NewLC(); + CleanupStack::Pop(); + return self; + } + +MT_SysLangUtil* MT_SysLangUtil::NewLC() + { + MT_SysLangUtil* self = new( ELeave ) MT_SysLangUtil(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// Destructor (virtual by CBase) +MT_SysLangUtil::~MT_SysLangUtil() + { + Teardown(); + } + +// Default constructor +MT_SysLangUtil::MT_SysLangUtil() + { + } + +// Second phase construct +void MT_SysLangUtil::ConstructL() + { + // The ConstructL from the base class CEUnitTestSuiteClass must be called. + // It generates the test case table. + CEUnitTestSuiteClass::ConstructL(); + } + +// METHODS +void MT_SysLangUtil::SetupL() + { + User::LeaveIfError( iFs.Connect() ); + } + +void MT_SysLangUtil::Teardown() + { + iFs.Close(); + } + +void MT_SysLangUtil::T_SysLangUtil_IsValidLanguageL() + { + // Get default language + TInt language = 0; + TInt result = SysLangUtil::GetDefaultLanguage( language ); + EUNIT_ASSERT_EQUALS( result, KErrNone ); + + // Default language should be valid language + TBool valid = SysLangUtil::IsValidLanguage( language ); + EUNIT_ASSERT( valid ); + + // Default language should be valid language + valid = SysLangUtil::IsValidLanguage( language, &iFs ); + EUNIT_ASSERT( valid ); + } + +void MT_SysLangUtil::T_SysLangUtil_GetDefaultLanguageL() + { + // Get default language + TInt language = 0; + TInt result = SysLangUtil::GetDefaultLanguage( language ); + EUNIT_ASSERT_EQUALS( result, KErrNone ); + + result = SysLangUtil::GetDefaultLanguage( language, &iFs ); + EUNIT_ASSERT_EQUALS( result, KErrNone ); + } + +void MT_SysLangUtil::T_SysLangUtil_GetInstalledLanguagesL() + { + // Create array for languages + CArrayFixFlat* array = new( ELeave ) CArrayFixFlat( 3 ); + CleanupStack::PushL( array ); + + // Get installed languages + TInt res = SysLangUtil::GetInstalledLanguages( array ); + EUNIT_ASSERT_EQUALS( res, KErrNone ); + + array->Reset(); + res = SysLangUtil::GetInstalledLanguages( array, &iFs ); + EUNIT_ASSERT_EQUALS( res, KErrNone ); + + TInt count = array->Count(); + EUNIT_ASSERT( count > 0 ); + + // Assert that each received language is a valid language + for( TInt i = 0; i < count; ++i ) + { + EUNIT_ASSERT( SysLangUtil::IsValidLanguage( array->At( i ) ) ); + } + + CleanupStack::PopAndDestroy( array ); + } + +void MT_SysLangUtil::T_SysLangUtil_RestoreSIMLanguageL() + { + // Get default language + TInt language = 0; + TInt result = SysLangUtil::GetDefaultLanguage( language ); + EUNIT_ASSERT_EQUALS( result, KErrNone ); + + // Default language should be valid language + TInt res = SysLangUtil::RestoreSIMLanguage( language ); + EUNIT_ASSERT_EQUALS( res, KErrNone ); + + // Default language should be valid language + res = SysLangUtil::RestoreSIMLanguage( language, &iFs ); + EUNIT_ASSERT_EQUALS( res, KErrNone ); + } + +// TEST TABLE +EUNIT_BEGIN_TEST_TABLE( + MT_SysLangUtil, + "SysLangUtil API Test", + "MODULE" ) + +EUNIT_TEST( + "#1 Test IsValidLanguage()", + "SysLangUtil", + "IsValidLanguage", + "FUNCTIONALITY", + SetupL, T_SysLangUtil_IsValidLanguageL, Teardown) + +EUNIT_TEST( + "#2 Test GetDefaultLanguage()", + "SysLangUtil", + "GetDefaultLanguage", + "FUNCTIONALITY", + SetupL, T_SysLangUtil_GetDefaultLanguageL, Teardown) + +EUNIT_TEST( + "#3 Test GetInstalledLanguages()", + "SysLangUtil", + "GetInstalledLanguages", + "FUNCTIONALITY", + SetupL, T_SysLangUtil_GetInstalledLanguagesL, Teardown) + +EUNIT_TEST( + "#4 Test RestoreSIMLanguage()", + "SysLangUtil", + "RestoreSIMLanguage", + "FUNCTIONALITY", + SetupL, T_SysLangUtil_RestoreSIMLanguageL, Teardown) +EUNIT_END_TEST_TABLE