X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-LogicalModel.cpp;h=67c7e243865af1b28cde2afd9ec83ea7b2762ea1;hp=25a724c4ef7a6604d94daffda2df301567dea6f0;hb=a422750d6fc4b5271e4cecec8742e25013e839da;hpb=479693b4fd773eb8888ae401d02b49188293e231 diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp old mode 100644 new mode 100755 index 25a724c..67c7e24 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp @@ -16,13 +16,13 @@ */ #include - #include +#include #include #include #include -#include +#include using namespace Dali; @@ -44,6 +44,8 @@ using namespace Text; namespace { +const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); + struct CreateParagraphData { std::string description; ///< Description of the test. @@ -87,14 +89,16 @@ struct GetLogicalCharacterIndexData struct GetLogicalCursorIndexData { - std::string description; ///< Description of the test. - std::string text; ///< Input text. - Size textArea; ///< The text area. - unsigned int numberOfIndices; ///< The number of characters to set. - unsigned int* visualCursorIndex; ///< The given cursor visual index. - unsigned int* characterIndex; ///< Index to the first logical character of the line. - unsigned int* logicalCursorIndex; ///< The expected cursor logical index. - unsigned int* cachedBidiLine; ///< The cached bidi line index for each character. + std::string description; ///< Description of the test. + std::string text; ///< Input text. + Size textArea; ///< The text area. + unsigned int numberOfFonts; ///< The number of fonts. + FontDescriptionRun* fontDescriptions; ///< The font descriptions. + unsigned int numberOfIndices; ///< The number of characters to set. + unsigned int* visualCursorIndex; ///< The given cursor visual index. + unsigned int* characterIndex; ///< Index to the first logical character of the line. + unsigned int* logicalCursorIndex; ///< The expected cursor logical index. + unsigned int* cachedBidiLine; ///< The cached bidi line index for each character. }; bool CreateParagraphTest( const CreateParagraphData& data ) @@ -115,7 +119,8 @@ bool CreateParagraphTest( const CreateParagraphData& data ) layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); // 2) Clear the paragraphs. Vector& paragraphs = logicalModel->mParagraphInfo; @@ -175,7 +180,8 @@ bool FindParagraphTest( const FindParagraphData& data ) layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); // 2) Find the paragraphs. Vector paragraphs; @@ -224,7 +230,8 @@ bool FetchBidirectionalLineInfoTest( const FetchBidirectionalLineInfoData& data layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); for( unsigned int index = 0; index < data.numberOfTests; ++index ) { @@ -268,7 +275,8 @@ bool GetLogicalCharacterIndexTest( const GetLogicalCharacterIndexData& data ) layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); for( unsigned int index = 0u; index < data.numberOfIndices; ++index ) { @@ -293,7 +301,19 @@ bool GetLogicalCharacterIndexTest( const GetLogicalCharacterIndexData& data ) bool GetLogicalCursorIndexTest( const GetLogicalCursorIndexData& data ) { - std::cout << " testing : " << data.description << std::endl; + tet_printf( " testing : %s\n", data.description.c_str() ); + + // Load some fonts. + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + fontClient.SetDpi( 96u, 96u ); + + char* pathNamePtr = get_current_dir_name(); + const std::string pathName( pathNamePtr ); + free( pathNamePtr ); + + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf" ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf" ); + // Create the model. LogicalModelPtr logicalModel; VisualModelPtr visualModel; @@ -301,33 +321,43 @@ bool GetLogicalCursorIndexTest( const GetLogicalCursorIndexData& data ) Size layoutSize; // Create the model with the whole text. - const Vector fontDescriptions; + Vector fontDescriptionRuns; + if( 0u != data.numberOfFonts ) + { + fontDescriptionRuns.Insert( fontDescriptionRuns.End(), + data.fontDescriptions, + data.fontDescriptions + data.numberOfFonts ); + } + const LayoutOptions options; CreateTextModel( data.text, data.textArea, - fontDescriptions, + fontDescriptionRuns, options, layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); for( unsigned int index = 0u; index < data.numberOfIndices; ++index ) { const bool fetched = logicalModel->FetchBidirectionalLineInfo( data.characterIndex[index] ); + tet_printf(" fetched %d, line index %d, expected line index %d\n", fetched, logicalModel->mBidirectionalLineIndex, data.cachedBidiLine[index] ); if( logicalModel->mBidirectionalLineIndex != data.cachedBidiLine[index] ) { - std::cout << " test : " << index << ", different cached line index : " << logicalModel->mBidirectionalLineIndex << ", expected : " << data.cachedBidiLine[index] << std::endl; + tet_printf( " test : %d, different cached line index : %d, expected : %d\n", index, logicalModel->mBidirectionalLineIndex, data.cachedBidiLine[index] ); return false; } const CharacterIndex visualCharacterIndex = data.visualCursorIndex[index]; const CharacterIndex logicalCursorIndex = fetched ? logicalModel->GetLogicalCursorIndex( visualCharacterIndex ) : visualCharacterIndex; + tet_printf(" visual index %d, logical index %d\n", visualCharacterIndex, logicalCursorIndex); if( logicalCursorIndex != data.logicalCursorIndex[index] ) { - std::cout << " test : " << index << ", visual index : " << visualCharacterIndex << ", different logical cursor index : " << logicalCursorIndex << ", expected : " << data.logicalCursorIndex[index] << std::endl; + tet_printf( " test : %d, visual index : %d, different logical cursor index :%d, expected : %d\n", index, visualCharacterIndex, logicalCursorIndex, data.logicalCursorIndex[index] ); return false; } } @@ -742,6 +772,11 @@ int UtcDaliGetLogicalCursorIndex(void) { tet_infoline(" UtcDaliGetLogicalCursorIndex"); + const std::string fontFamily( "TizenSans" ); + const std::string fontFamilyHebrew( "TizenSansHebrew" ); + + + unsigned int visualIndex01[] = { 10u }; unsigned int characterIndex01[] = { 0u }; unsigned int logicalIndex01[] = { 10u }; @@ -751,12 +786,28 @@ int UtcDaliGetLogicalCursorIndex(void) // Hello world \n // 12 16 // demo + + // Set a known font description + FontDescriptionRun fontDescriptionRun02; + fontDescriptionRun02.characterRun.characterIndex = 0u; + fontDescriptionRun02.characterRun.numberOfCharacters = 11u; + fontDescriptionRun02.familyLength = fontFamily.size(); + fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; + memcpy( fontDescriptionRun02.familyName, fontFamily.c_str(), fontDescriptionRun02.familyLength ); + fontDescriptionRun02.familyDefined = true; + fontDescriptionRun02.weightDefined = false; + fontDescriptionRun02.widthDefined = false; + fontDescriptionRun02.slantDefined = false; + fontDescriptionRun02.sizeDefined = false; + + Vector fontDescriptionRuns02; + fontDescriptionRuns02.PushBack( fontDescriptionRun02 ); + unsigned int visualIndex02[] = { 0u, 16u, 11u, 12u }; unsigned int characterIndex02[] = { 0u, 0u, 0u, 0u }; unsigned int logicalIndex02[] = { 0u, 16u, 11u, 12u }; unsigned int bidirectionalLineIndex02[] = { 0u, 0u, 0u, 0u }; - // LO H e l l o _ w o r l d \n // 0 1 2 3 4 5 6 7 8 9 10 11 12 // VO H e l l o _ w o r l d \n @@ -773,6 +824,79 @@ int UtcDaliGetLogicalCursorIndex(void) // 44 45 46 47 48 49 50 51 52 52 54 55 56 57 58 59 60 61 62 63 64 65 66 // VO \n h e l l o _ w o r l d _ ם ל ו ע _ ם ו ל ש + + // Set a known font description + FontDescriptionRun fontDescriptionRun0301; + fontDescriptionRun0301.characterRun.characterIndex = 0u; + fontDescriptionRun0301.characterRun.numberOfCharacters = 12u; + fontDescriptionRun0301.familyLength = fontFamily.size(); + fontDescriptionRun0301.familyName = new char[fontDescriptionRun0301.familyLength]; + memcpy( fontDescriptionRun0301.familyName, fontFamily.c_str(), fontDescriptionRun0301.familyLength ); + fontDescriptionRun0301.familyDefined = true; + fontDescriptionRun0301.weightDefined = false; + fontDescriptionRun0301.widthDefined = false; + fontDescriptionRun0301.slantDefined = false; + fontDescriptionRun0301.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun0302; + fontDescriptionRun0302.characterRun.characterIndex = 12u; + fontDescriptionRun0302.characterRun.numberOfCharacters = 10u; + fontDescriptionRun0302.familyLength = fontFamilyHebrew.size(); + fontDescriptionRun0302.familyName = new char[fontDescriptionRun0302.familyLength]; + memcpy( fontDescriptionRun0302.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0302.familyLength ); + fontDescriptionRun0302.familyDefined = true; + fontDescriptionRun0302.weightDefined = false; + fontDescriptionRun0302.widthDefined = false; + fontDescriptionRun0302.slantDefined = false; + fontDescriptionRun0302.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun0303; + fontDescriptionRun0303.characterRun.characterIndex = 22u; + fontDescriptionRun0303.characterRun.numberOfCharacters = 12u; + fontDescriptionRun0303.familyLength = fontFamily.size(); + fontDescriptionRun0303.familyName = new char[fontDescriptionRun0303.familyLength]; + memcpy( fontDescriptionRun0303.familyName, fontFamily.c_str(), fontDescriptionRun0303.familyLength ); + fontDescriptionRun0303.familyDefined = true; + fontDescriptionRun0303.weightDefined = false; + fontDescriptionRun0303.widthDefined = false; + fontDescriptionRun0303.slantDefined = false; + fontDescriptionRun0303.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun0304; + fontDescriptionRun0304.characterRun.characterIndex = 34u; + fontDescriptionRun0304.characterRun.numberOfCharacters = 20u; + fontDescriptionRun0304.familyLength = fontFamilyHebrew.size(); + fontDescriptionRun0304.familyName = new char[fontDescriptionRun0304.familyLength]; + memcpy( fontDescriptionRun0304.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0304.familyLength ); + fontDescriptionRun0304.familyDefined = true; + fontDescriptionRun0304.weightDefined = false; + fontDescriptionRun0304.widthDefined = false; + fontDescriptionRun0304.slantDefined = false; + fontDescriptionRun0304.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun0305; + fontDescriptionRun0305.characterRun.characterIndex = 54u; + fontDescriptionRun0305.characterRun.numberOfCharacters = 12u; + fontDescriptionRun0305.familyLength = fontFamily.size(); + fontDescriptionRun0305.familyName = new char[fontDescriptionRun0305.familyLength]; + memcpy( fontDescriptionRun0305.familyName, fontFamily.c_str(), fontDescriptionRun0305.familyLength ); + fontDescriptionRun0305.familyDefined = true; + fontDescriptionRun0305.weightDefined = false; + fontDescriptionRun0305.widthDefined = false; + fontDescriptionRun0305.slantDefined = false; + fontDescriptionRun0305.sizeDefined = false; + + Vector fontDescriptionRuns03; + fontDescriptionRuns03.PushBack( fontDescriptionRun0301 ); + fontDescriptionRuns03.PushBack( fontDescriptionRun0302 ); + fontDescriptionRuns03.PushBack( fontDescriptionRun0303 ); + fontDescriptionRuns03.PushBack( fontDescriptionRun0304 ); + fontDescriptionRuns03.PushBack( fontDescriptionRun0305 ); + unsigned int visualIndex03[] = { 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, 13u, 14u, 15u, 16u, 17u, 18u, 19u, 20u, 21u, 22u, 22u, 23u, 24u, 25u, 26u, 27u, 28u, 29u, 30u, 31u, 32u, 33u, 34u, 35u, 36u, 37u, 38u, 39u, 40u, 41u, 42u, 43u, @@ -810,6 +934,74 @@ int UtcDaliGetLogicalCursorIndex(void) // LO 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 // h e l l o _ w o r l d _ ם ל ו ע _ ם ו ל ש \n + // Set a known font description + FontDescriptionRun fontDescriptionRun0401; + fontDescriptionRun0401.characterRun.characterIndex = 0u; + fontDescriptionRun0401.characterRun.numberOfCharacters = 10u; + fontDescriptionRun0401.familyLength = fontFamilyHebrew.size(); + fontDescriptionRun0401.familyName = new char[fontDescriptionRun0401.familyLength]; + memcpy( fontDescriptionRun0401.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0401.familyLength ); + fontDescriptionRun0401.familyDefined = true; + fontDescriptionRun0401.weightDefined = false; + fontDescriptionRun0401.widthDefined = false; + fontDescriptionRun0401.slantDefined = false; + fontDescriptionRun0401.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun0402; + fontDescriptionRun0402.characterRun.characterIndex = 10u; + fontDescriptionRun0402.characterRun.numberOfCharacters = 12u; + fontDescriptionRun0402.familyLength = fontFamily.size(); + fontDescriptionRun0402.familyName = new char[fontDescriptionRun0402.familyLength]; + memcpy( fontDescriptionRun0402.familyName, fontFamily.c_str(), fontDescriptionRun0402.familyLength ); + fontDescriptionRun0402.familyDefined = true; + fontDescriptionRun0402.weightDefined = false; + fontDescriptionRun0402.widthDefined = false; + fontDescriptionRun0402.slantDefined = false; + fontDescriptionRun0402.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun0403; + fontDescriptionRun0403.characterRun.characterIndex = 22u; + fontDescriptionRun0403.characterRun.numberOfCharacters = 10u; + fontDescriptionRun0403.familyLength = fontFamilyHebrew.size(); + fontDescriptionRun0403.familyName = new char[fontDescriptionRun0403.familyLength]; + memcpy( fontDescriptionRun0403.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0403.familyLength ); + fontDescriptionRun0403.familyDefined = true; + fontDescriptionRun0403.weightDefined = false; + fontDescriptionRun0403.widthDefined = false; + fontDescriptionRun0403.slantDefined = false; + fontDescriptionRun0403.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun0404; + fontDescriptionRun0404.characterRun.characterIndex = 32u; + fontDescriptionRun0404.characterRun.numberOfCharacters = 24u; + fontDescriptionRun0404.familyLength = fontFamily.size(); + fontDescriptionRun0404.familyName = new char[fontDescriptionRun0404.familyLength]; + memcpy( fontDescriptionRun0404.familyName, fontFamily.c_str(), fontDescriptionRun0404.familyLength ); + fontDescriptionRun0404.familyDefined = true; + fontDescriptionRun0404.weightDefined = false; + fontDescriptionRun0404.widthDefined = false; + fontDescriptionRun0404.slantDefined = false; + fontDescriptionRun0404.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun0405; + fontDescriptionRun0405.characterRun.characterIndex = 56u; + fontDescriptionRun0405.characterRun.numberOfCharacters = 10u; + fontDescriptionRun0405.familyLength = fontFamilyHebrew.size(); + fontDescriptionRun0405.familyName = new char[fontDescriptionRun0405.familyLength]; + memcpy( fontDescriptionRun0405.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0405.familyLength ); + fontDescriptionRun0405.familyDefined = true; + fontDescriptionRun0405.weightDefined = false; + fontDescriptionRun0405.widthDefined = false; + fontDescriptionRun0405.slantDefined = false; + fontDescriptionRun0405.sizeDefined = false; + + Vector fontDescriptionRuns04; + fontDescriptionRuns04.PushBack( fontDescriptionRun0401 ); + fontDescriptionRuns04.PushBack( fontDescriptionRun0402 ); + fontDescriptionRuns04.PushBack( fontDescriptionRun0403 ); + fontDescriptionRuns04.PushBack( fontDescriptionRun0404 ); + fontDescriptionRuns04.PushBack( fontDescriptionRun0405 ); + unsigned int visualIndex04[] = { 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 10u, 12u, 13u, 14u, 15u, 16u, 17u, 18u, 19u, 20u, 21u, 23u, 24u, 25u, 26u, 27u, 28u, 29u, 30u, 31u, 32u, 33u, 34u, 35u, 36u, 37u, 38u, 39u, 40u, 41u, 42u, 43u, 44u, @@ -830,12 +1022,27 @@ int UtcDaliGetLogicalCursorIndex(void) 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u }; - // LO A B C D E F G H I J K // 0 1 2 3 4 5 6 7 8 9 10 11 // LO L M N // 11 12 13 14 + // Set a known font description + FontDescriptionRun fontDescriptionRun0501; + fontDescriptionRun0501.characterRun.characterIndex = 0u; + fontDescriptionRun0501.characterRun.numberOfCharacters = 14u; + fontDescriptionRun0501.familyLength = fontFamily.size(); + fontDescriptionRun0501.familyName = new char[fontDescriptionRun0501.familyLength]; + memcpy( fontDescriptionRun0501.familyName, fontFamily.c_str(), fontDescriptionRun0501.familyLength ); + fontDescriptionRun0501.familyDefined = true; + fontDescriptionRun0501.weightDefined = false; + fontDescriptionRun0501.widthDefined = false; + fontDescriptionRun0501.slantDefined = false; + fontDescriptionRun0501.sizeDefined = false; + + Vector fontDescriptionRuns05; + fontDescriptionRuns05.PushBack( fontDescriptionRun0501 ); + unsigned int visualIndex05[] = { 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, 12u, 13u, 14u }; @@ -848,25 +1055,42 @@ int UtcDaliGetLogicalCursorIndex(void) unsigned int bidirectionalLineIndex05[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u }; -// LO ק ר א ט ו ן ם פ ש ד ג -// 0 1 2 3 4 5 6 7 8 9 10 11 -// VO ג ד ש פ ם ן ו ט א ר ק +// LO ק ר א ט ו ן ם פ ש ד ג כ +// 0 1 2 3 4 5 6 7 8 9 10 11 12 +// VO כ ג ד ש פ ם ן ו ט א ר ק + +// LO ע י ח ל +// 12 13 14 15 16 +// VO ל ח י ע + -// LO כ ע י ח ל -// 11 12 13 14 15 16 -// VO ל ח י ע כ + // Set a known font description + FontDescriptionRun fontDescriptionRun0601; + fontDescriptionRun0601.characterRun.characterIndex = 0u; + fontDescriptionRun0601.characterRun.numberOfCharacters = 16u; + fontDescriptionRun0601.familyLength = fontFamilyHebrew.size(); + fontDescriptionRun0601.familyName = new char[fontDescriptionRun0601.familyLength]; + memcpy( fontDescriptionRun0601.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0601.familyLength ); + fontDescriptionRun0601.familyDefined = true; + fontDescriptionRun0601.weightDefined = false; + fontDescriptionRun0601.widthDefined = false; + fontDescriptionRun0601.slantDefined = false; + fontDescriptionRun0601.sizeDefined = false; - unsigned int visualIndex06[] = { 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, - 11u, 12u, 13u, 14u, 15u, 16u }; + Vector fontDescriptionRuns06; + fontDescriptionRuns06.PushBack( fontDescriptionRun0601 ); - unsigned int characterIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, - 12u, 12u, 12u, 12u, 12u, 12u }; + unsigned int visualIndex06[] = { 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, 12u, + 12u, 13u, 14u, 15u, 16u }; - unsigned int logicalIndex06[] = { 10u, 9u, 8u, 7u, 6u, 5u, 4u, 3u, 2u, 1u, 0u, - 16u, 15u, 14u, 13u, 12u, 11u }; + unsigned int characterIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, + 12u, 12u, 12u, 12u, 12u }; - unsigned int bidirectionalLineIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, - 1u, 1u, 1u, 1u, 1u, 1u }; + unsigned int logicalIndex06[] = { 12u, 11u, 10u, 9u, 8u, 7u, 6u, 5u, 4u, 3u, 2u, 1u, 0u, + 16u, 15u, 14u, 13u, 12u }; + + unsigned int bidirectionalLineIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, + 1u, 1u, 1u, 1u, 1u, }; struct GetLogicalCursorIndexData data[] = { @@ -874,6 +1098,8 @@ int UtcDaliGetLogicalCursorIndex(void) "Zero characters text", "", Size( 300.f, 300.f ), + 0u, + nullptr, 1u, visualIndex01, characterIndex01, @@ -884,6 +1110,8 @@ int UtcDaliGetLogicalCursorIndex(void) "All left to right text 01.", "Hello world\ndemo", Size( 300.f, 300.f ), + 1u, + fontDescriptionRuns02.Begin(), 4u, visualIndex02, characterIndex02, @@ -894,6 +1122,8 @@ int UtcDaliGetLogicalCursorIndex(void) "bidirectional text 01.", "Hello world\nשלום עולם\nhello world שלום עולם\nשלום עולם hello world\n", Size( 300.f, 300.f ), + 5u, + fontDescriptionRuns03.Begin(), 65u, visualIndex03, characterIndex03, @@ -904,6 +1134,8 @@ int UtcDaliGetLogicalCursorIndex(void) "bidirectional text 02.", "שלום עולם\nhello world\nשלום עולם hello world\nhello world שלום עולם\n", Size( 300.f, 300.f ), + 5u, + fontDescriptionRuns04.Begin(), 65u, visualIndex04, characterIndex04, @@ -914,6 +1146,8 @@ int UtcDaliGetLogicalCursorIndex(void) "long line 01.", "ABCDEFGHIJKLMN", Size( 100.f, 300.f ), + 1u, + fontDescriptionRuns05.Begin(), 13u, visualIndex05, characterIndex05, @@ -924,7 +1158,9 @@ int UtcDaliGetLogicalCursorIndex(void) "bidirectional text 03.", "קראטוןםפשדגכעיחל", Size( 100.f, 300.f ), - 15u, + 1u, + fontDescriptionRuns06.Begin(), + 18u, visualIndex06, characterIndex06, logicalIndex06, @@ -938,6 +1174,7 @@ int UtcDaliGetLogicalCursorIndex(void) ToolkitTestApplication application; if( !GetLogicalCursorIndexTest( data[index] ) ) { + tet_printf("Test %d failed : [%s]\n", index, data[index].description.c_str()); tet_result(TET_FAIL); } }