X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-MultiLanguage.cpp;h=c3f0b9b81145eade197f3e54bf1182635d7a9a23;hb=a40939e617ca1a0b79aeb6af999cda7c70418be1;hp=8dd64f987129f5e6f0be20f38daa9280bfbd459f;hpb=c41dd692678d095817e4bf528d926cc9e1b12a92;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp index 8dd64f9..c3f0b9b 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,12 +36,12 @@ using namespace Text; // Tests the following functions with different scripts. // // void MergeFontDescriptions( const Vector& fontDescriptions, -// Vector& fontIds, -// Vector& isDefaultFont, // const TextAbstraction::FontDescription& defaultFontDescription, // TextAbstraction::PointSize26Dot6 defaultPointSize, -// CharacterIndex startIndex, -// Length numberOfCharacters ); +// CharacterIndex characterIndex, +// TextAbstraction::FontDescription& fontDescription, +// TextAbstraction::PointSize26Dot6& fontPointSize, +// bool& isDefaultFont ); // // Script GetScript( Length index, // Vector::ConstIterator& scriptRunIt, @@ -57,7 +57,8 @@ using namespace Text; // void MultilanguageSupport::ValidateFonts( const Vector& text, // const Vector& scripts, // const Vector& fontDescriptions, -// FontId defaultFontId, +// const TextAbstraction::FontDescription& defaultFontDescription, +// TextAbstraction::PointSize26Dot6 defaultFontPointSize, // CharacterIndex startIndex, // Length numberOfCharacters, // Vector& fonts ); @@ -68,7 +69,7 @@ namespace { const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); -const unsigned int EMOJI_FONT_SIZE = 3968u; +const unsigned int EMOJI_FONT_SIZE = 3840u; // 60 * 64 const unsigned int NON_DEFAULT_FONT_SIZE = 40u; struct MergeFontDescriptionsData @@ -105,21 +106,33 @@ struct ValidateFontsData }; ////////////////////////////////////////////////////////// - bool MergeFontDescriptionsTest( const MergeFontDescriptionsData& data ) { + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + Vector fontIds; fontIds.Resize( data.startIndex + data.numberOfCharacters, 0u ); Vector isDefaultFont; isDefaultFont.Resize( data.startIndex + data.numberOfCharacters, true ); - MergeFontDescriptions( data.fontDescriptionRuns, - fontIds, - isDefaultFont, - data.defaultFontDescription, - data.defaultPointSize, - data.startIndex, - data.numberOfCharacters ); + for( unsigned int index = data.startIndex; index < data.startIndex + data.numberOfCharacters; ++index ) + { + TextAbstraction::FontDescription fontDescription; + TextAbstraction::PointSize26Dot6 fontPointSize = TextAbstraction::FontClient::DEFAULT_POINT_SIZE; + + MergeFontDescriptions( data.fontDescriptionRuns, + data.defaultFontDescription, + data.defaultPointSize, + index, + fontDescription, + fontPointSize, + isDefaultFont[index] ); + + if( !isDefaultFont[index] ) + { + fontIds[index] = fontClient.GetFontId( fontDescription, fontPointSize ); + } + } if( fontIds.Count() != data.expectedFontIds.Count() ) { @@ -261,6 +274,10 @@ bool ValidateFontTest( const ValidateFontsData& data ) // Get the default font id. const FontId defaultFontId = fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + data.defaultFont, data.defaultFontSize ); + TextAbstraction::FontDescription defaultFontDescription; + fontClient.GetDescription( defaultFontId, defaultFontDescription ); + + const TextAbstraction::PointSize26Dot6 defaultPointSize = fontClient.GetPointSize( defaultFontId ); Vector fontRuns; @@ -268,7 +285,8 @@ bool ValidateFontTest( const ValidateFontsData& data ) multilanguageSupport.ValidateFonts( utf32, scripts, data.fontDescriptionRuns, - defaultFontId, + defaultFontDescription, + defaultPointSize, 0u, numberOfCharacters, fontRuns ); @@ -284,7 +302,8 @@ bool ValidateFontTest( const ValidateFontsData& data ) multilanguageSupport.ValidateFonts( utf32, scripts, data.fontDescriptionRuns, - defaultFontId, + defaultFontDescription, + defaultPointSize, data.index, data.numberOfCharacters, fontRuns ); @@ -453,9 +472,9 @@ int UtcDaliTextMergeFontDescriptions(void) }, const_cast( "DejaVu Sans" ), 11u, - TextAbstraction::FontWeight::NORMAL, - TextAbstraction::FontWidth::NORMAL, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontWeight::NONE, + TextAbstraction::FontWidth::NONE, + TextAbstraction::FontSlant::NONE, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, true, false, @@ -471,8 +490,8 @@ int UtcDaliTextMergeFontDescriptions(void) }, NULL, 0u, - TextAbstraction::FontWeight::NORMAL, - TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontWeight::NONE, + TextAbstraction::FontWidth::NONE, TextAbstraction::FontSlant::ITALIC, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, false, @@ -490,8 +509,8 @@ int UtcDaliTextMergeFontDescriptions(void) NULL, 0u, TextAbstraction::FontWeight::BOLD, - TextAbstraction::FontWidth::NORMAL, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontWidth::NONE, + TextAbstraction::FontSlant::NONE, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, false, true, @@ -507,9 +526,9 @@ int UtcDaliTextMergeFontDescriptions(void) }, NULL, 0u, - TextAbstraction::FontWeight::NORMAL, - TextAbstraction::FontWidth::NORMAL, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontWeight::NONE, + TextAbstraction::FontWidth::NONE, + TextAbstraction::FontSlant::NONE, NON_DEFAULT_FONT_SIZE, false, false, @@ -525,9 +544,9 @@ int UtcDaliTextMergeFontDescriptions(void) }, NULL, 0u, - TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWeight::NONE, TextAbstraction::FontWidth::EXPANDED, - TextAbstraction::FontSlant::NORMAL, + TextAbstraction::FontSlant::NONE, TextAbstraction::FontClient::DEFAULT_POINT_SIZE, false, false, @@ -1284,7 +1303,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) // Load some fonts. fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansArabicRegular.ttf" ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf" ); - fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenColorEmoji.ttf", EMOJI_FONT_SIZE ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/BreezeColorEmoji.ttf", EMOJI_FONT_SIZE ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf", pointSize01 ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf", pointSize02 ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf", pointSize01 ); @@ -1292,7 +1311,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) // Font id 1 --> TizenSansArabicRegular.ttf // Font id 2 --> TizenSansHebrewRegular.ttf - // Font id 3 --> TizenColorEmoji.ttf + // Font id 3 --> BreezeColorEmoji.ttf // Font id 4 --> TizenSansRegular.ttf, size 8 // Font id 5 --> TizenSansRegular.ttf, size 16 // Font id 6 --> TizenSansHebrewRegular.ttf, size 8 @@ -1465,8 +1484,8 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) 0u, 4u }, - const_cast( "TizenColorEmoji" ), - 15u, + const_cast( "BreezeColorEmoji" ), + 16u, TextAbstraction::FontWeight::NORMAL, TextAbstraction::FontWidth::NORMAL, TextAbstraction::FontSlant::NORMAL, @@ -1595,6 +1614,38 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) fontDescriptions10.PushBack( fontDescription1003 ); fontDescriptions10.PushBack( fontDescription1004 ); + FontRun fontRun1101 = + { + { + 0u, + 22u + }, + 5u + }; + Vector fontRuns11; + fontRuns11.PushBack( fontRun1101 ); + + FontDescriptionRun fontDescription1101 = + { + { + 0, + 22u + }, + const_cast( "TizenSans" ), + 9u, + TextAbstraction::FontWeight::NORMAL, + TextAbstraction::FontWidth::NORMAL, + TextAbstraction::FontSlant::NORMAL, + pointSize02, + true, + false, + false, + false, + true + }; + Vector fontDescriptions11; + fontDescriptions11.PushBack( fontDescription1101 ); + const ValidateFontsData data[] = { { @@ -1680,7 +1731,7 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) { "Emojis", "\xF0\x9F\x98\x81\xF0\x9F\x98\x82\xF0\x9F\x98\x83\xF0\x9F\x98\x84", - "/tizen/TizenColorEmoji.ttf", + "/tizen/BreezeColorEmoji.ttf", EMOJI_FONT_SIZE, 0u, 4u, @@ -1697,8 +1748,18 @@ int UtcDaliTextMultiLanguageValidateFonts01(void) fontDescriptions10, fontRuns10 }, + { + "Unknown script -> changed to LATIN", + "WRC – The Official App", + "/tizen/TizenSansRegular.ttf", + TextAbstraction::FontClient::DEFAULT_POINT_SIZE, + 0u, + 22u, + fontDescriptions11, + fontRuns11 + }, }; - const unsigned int numberOfTests = 10u; + const unsigned int numberOfTests = 11u; for( unsigned int index = 0u; index < numberOfTests; ++index ) {