From a422750d6fc4b5271e4cecec8742e25013e839da Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Fri, 25 Oct 2019 11:38:17 +0100 Subject: [PATCH 1/1] Fix for UtcDaliGetLogicalCursorIndex * The number of characters of the failing experiment is 16 not 14. * The text is split in lines in a different character with the new ubuntu fonts. Change-Id: Iefaf600f02be44e12219c6fedb7a8f7d5664d4f8 Signed-off-by: Victor Cebollada --- .../utc-Dali-LogicalModel.cpp | 38 ++++++++++++---------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp index 4fe4876..67c7e24 100755 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-LogicalModel.cpp @@ -343,6 +343,7 @@ bool GetLogicalCursorIndexTest( const GetLogicalCursorIndexData& data ) 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] ) { @@ -352,10 +353,11 @@ bool GetLogicalCursorIndexTest( const GetLogicalCursorIndexData& data ) 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] ) { - tet_printf( " test : %d, visual index : %d, different logical cursor index :%d, expected : %d", index, visualCharacterIndex, logicalCursorIndex, data.logicalCursorIndex[index] ); + tet_printf( " test : %d, visual index : %d, different logical cursor index :%d, expected : %d\n", index, visualCharacterIndex, logicalCursorIndex, data.logicalCursorIndex[index] ); return false; } } @@ -1053,18 +1055,19 @@ 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 = 14u; + fontDescriptionRun0601.characterRun.numberOfCharacters = 16u; fontDescriptionRun0601.familyLength = fontFamilyHebrew.size(); fontDescriptionRun0601.familyName = new char[fontDescriptionRun0601.familyLength]; memcpy( fontDescriptionRun0601.familyName, fontFamilyHebrew.c_str(), fontDescriptionRun0601.familyLength ); @@ -1077,17 +1080,17 @@ int UtcDaliGetLogicalCursorIndex(void) Vector fontDescriptionRuns06; fontDescriptionRuns06.PushBack( fontDescriptionRun0601 ); - unsigned int visualIndex06[] = { 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, - 11u, 12u, 13u, 14u, 15u, 16u }; + unsigned int visualIndex06[] = { 0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u, 10u, 11u, 12u, + 12u, 13u, 14u, 15u, 16u }; - unsigned int characterIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, - 12u, 12u, 12u, 12u, 12u, 12u }; + unsigned int characterIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, + 12u, 12u, 12u, 12u, 12u }; - unsigned int logicalIndex06[] = { 11u, 10u, 9u, 8u, 7u, 6u, 5u, 4u, 3u, 2u, 1u, - 13u, 16u, 15u, 14u, 13u, 12u }; + 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, - 1u, 1u, 1u, 1u, 1u, 1u }; + unsigned int bidirectionalLineIndex06[] = { 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, + 1u, 1u, 1u, 1u, 1u, }; struct GetLogicalCursorIndexData data[] = { @@ -1157,7 +1160,7 @@ int UtcDaliGetLogicalCursorIndex(void) Size( 100.f, 300.f ), 1u, fontDescriptionRuns06.Begin(), - 15u, + 18u, visualIndex06, characterIndex06, logicalIndex06, @@ -1171,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); } } -- 2.7.4