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-Text-Hyphen-Wrapping.cpp;h=402cc40dad525e49433e75f4a5d296e75801cc46;hp=4f1d0f5b76432eb48eeb6d228ad556681fc1cb0c;hb=HEAD;hpb=7956f5a39044145c9f6af24fa6d291a9943800cf diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Hyphen-Wrapping.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Hyphen-Wrapping.cpp index 4f1d0f5..41e0636 100755 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Hyphen-Wrapping.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Hyphen-Wrapping.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -15,33 +15,31 @@ * */ -#include #include #include +#include +#include +#include #include #include #include -#include -#include #include using namespace Dali; using namespace Toolkit; using namespace Text; - namespace { - -const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); +const std::string DEFAULT_FONT_DIR("/resources/fonts"); struct LayoutTextData { std::string text; Size textArea; unsigned int numberOfFonts; - FontDescriptionRun *fontDescriptions; + FontDescriptionRun* fontDescriptions; unsigned int numberOfLines; LineRun* lines; Layout::Engine::Type layout; @@ -50,81 +48,83 @@ struct LayoutTextData Text::LineWrap::Mode wrapMode; }; -void Print( const LineRun& line ) +void Print(const LineRun& line) { std::cout << " glyph run, index : " << line.glyphRun.glyphIndex << ", num glyphs : " << line.glyphRun.numberOfGlyphs << std::endl; std::cout << " character run, index : " << line.characterRun.characterIndex << ", num chars : " << line.characterRun.numberOfCharacters << std::endl; } -bool LayoutTextTest( const LayoutTextData& data ) +bool LayoutTextTest(const LayoutTextData& data) { // Load some fonts. TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); - fontClient.SetDpi( 96u, 96u ); + fontClient.SetDpi(96u, 96u); - char* pathNamePtr = get_current_dir_name(); - const std::string pathName( pathNamePtr ); - free( pathNamePtr ); + 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/TizenSansRegular.ttf"); // 1) Create the model. - ModelPtr textModel; + ModelPtr textModel; MetricsPtr metrics; - Size layoutSize; + Size layoutSize; Vector fontDescriptionRuns; - if( 0u != data.numberOfFonts ) + if(0u != data.numberOfFonts) { - fontDescriptionRuns.Insert( fontDescriptionRuns.End(), - data.fontDescriptions, - data.fontDescriptions + data.numberOfFonts ); + fontDescriptionRuns.Insert(fontDescriptionRuns.End(), + data.fontDescriptions, + data.fontDescriptions + data.numberOfFonts); } LayoutOptions options; options.align = false; - CreateTextModel( data.text, - data.textArea, - fontDescriptionRuns, - options, - layoutSize, - textModel, - metrics, - false, - data.wrapMode, - false, - Toolkit::DevelText::EllipsisPosition::END, - 0.f ); + CreateTextModel(data.text, + data.textArea, + fontDescriptionRuns, + options, + layoutSize, + textModel, + metrics, + false, + data.wrapMode, + false, + Toolkit::DevelText::EllipsisPosition::END, + 0.0f, // lineSpacing + 0.0f // characterSpacing + ); Vector& lines = textModel->mVisualModel->mLines; // 4) Compare the results. - if( lines.Count() != data.numberOfLines ) + if(lines.Count() != data.numberOfLines) { std::cout << " Different number of lines : " << lines.Count() << ", expected : " << data.numberOfLines << std::endl; return false; } - for( unsigned int index = 0u; index < data.numberOfLines; ++index ) + for(unsigned int index = 0u; index < data.numberOfLines; ++index) { - const LineRun& line = *( lines.Begin() + index ); - const LineRun& expectedLine = *( data.lines + index ); + const LineRun& line = *(lines.Begin() + index); + const LineRun& expectedLine = *(data.lines + index); - if( line.characterRun.characterIndex != expectedLine.characterRun.characterIndex ) + if(line.characterRun.characterIndex != expectedLine.characterRun.characterIndex) { std::cout << " Different line info for line : " << index << std::endl; - Print( line ); + Print(line); std::cout << " expected" << std::endl; - Print( expectedLine ); + Print(expectedLine); return false; } - if( line.characterRun.numberOfCharacters != expectedLine.characterRun.numberOfCharacters ) + if(line.characterRun.numberOfCharacters != expectedLine.characterRun.numberOfCharacters) { std::cout << " Different line info for line : " << index << std::endl; - Print( line ); + Print(line); std::cout << " expected" << std::endl; - Print( expectedLine ); + Print(expectedLine); return false; } } @@ -134,7 +134,6 @@ bool LayoutTextTest( const LayoutTextData& data ) } // namespace - int UtcDaliTextHyphenWrapping(void) { ToolkitTestApplication application; @@ -142,71 +141,68 @@ int UtcDaliTextHyphenWrapping(void) // Layout some lines of left to right text. - const std::string fontFamily( "TizenSans" ); + const std::string fontFamily("TizenSans"); // Set a known font description FontDescriptionRun fontDescriptionRun1; - fontDescriptionRun1.characterRun.characterIndex = 0u; + fontDescriptionRun1.characterRun.characterIndex = 0u; fontDescriptionRun1.characterRun.numberOfCharacters = 13u; - fontDescriptionRun1.familyLength = fontFamily.size(); - fontDescriptionRun1.familyName = new char[fontDescriptionRun1.familyLength]; - memcpy( fontDescriptionRun1.familyName, fontFamily.c_str(), fontDescriptionRun1.familyLength ); + fontDescriptionRun1.familyLength = fontFamily.size(); + fontDescriptionRun1.familyName = new char[fontDescriptionRun1.familyLength]; + memcpy(fontDescriptionRun1.familyName, fontFamily.c_str(), fontDescriptionRun1.familyLength); fontDescriptionRun1.familyDefined = true; fontDescriptionRun1.weightDefined = false; - fontDescriptionRun1.widthDefined = false; - fontDescriptionRun1.slantDefined = false; - fontDescriptionRun1.sizeDefined = false; + fontDescriptionRun1.widthDefined = false; + fontDescriptionRun1.slantDefined = false; + fontDescriptionRun1.sizeDefined = false; Vector fontDescriptionRuns; - fontDescriptionRuns.PushBack( fontDescriptionRun1 ); + fontDescriptionRuns.PushBack(fontDescriptionRun1); Size textArea(65.0f, 200.f); LineRun line1 = - { - { 0u, 5u }, - { 0u, 5u }, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - false, - false - }; + { + {0u, 8u}, + {0u, 8u}, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + false, + false}; LineRun line2 = - { - { 5u, 8u }, - { 5u, 8u }, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - false, - false - }; + { + {8u, 5u}, + {8u, 5u}, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + false, + false}; Vector lines; - lines.PushBack( line1 ); - lines.PushBack( line2 ); + lines.PushBack(line1); + lines.PushBack(line2); LayoutTextData data = - { - "Hi Experiment", - textArea, - 1u, - fontDescriptionRuns.Begin(), - 2u, - lines.Begin(), - Layout::Engine::MULTI_LINE_BOX, - 0u, - 13u, - (Text::LineWrap::Mode)DevelText::LineWrap::HYPHENATION - }; - - if( !LayoutTextTest( data ) ) + { + "Hi Experiment", + textArea, + 1u, + fontDescriptionRuns.Begin(), + 2u, + lines.Begin(), + Layout::Engine::MULTI_LINE_BOX, + 0u, + 13u, + (Text::LineWrap::Mode)DevelText::LineWrap::HYPHENATION}; + + if(!LayoutTextTest(data)) { tet_result(TET_FAIL); } @@ -222,85 +218,81 @@ int UtcDaliTextMixedWrapping(void) // Layout some lines of left to right text. - const std::string fontFamily( "DejaVuSans" ); + const std::string fontFamily("DejaVuSans"); // Set a known font description FontDescriptionRun fontDescriptionRun1; - fontDescriptionRun1.characterRun.characterIndex = 0u; + fontDescriptionRun1.characterRun.characterIndex = 0u; fontDescriptionRun1.characterRun.numberOfCharacters = 13u; - fontDescriptionRun1.familyLength = fontFamily.size(); - fontDescriptionRun1.familyName = new char[fontDescriptionRun1.familyLength]; - memcpy( fontDescriptionRun1.familyName, fontFamily.c_str(), fontDescriptionRun1.familyLength ); + fontDescriptionRun1.familyLength = fontFamily.size(); + fontDescriptionRun1.familyName = new char[fontDescriptionRun1.familyLength]; + memcpy(fontDescriptionRun1.familyName, fontFamily.c_str(), fontDescriptionRun1.familyLength); fontDescriptionRun1.familyDefined = true; fontDescriptionRun1.weightDefined = false; - fontDescriptionRun1.widthDefined = false; - fontDescriptionRun1.slantDefined = false; - fontDescriptionRun1.sizeDefined = false; + fontDescriptionRun1.widthDefined = false; + fontDescriptionRun1.slantDefined = false; + fontDescriptionRun1.sizeDefined = false; Vector fontDescriptionRuns; - fontDescriptionRuns.PushBack( fontDescriptionRun1 ); + fontDescriptionRuns.PushBack(fontDescriptionRun1); Size textArea(72.0f, 200.f); LineRun line1 = - { - { 0u, 3u }, - { 0u, 3u }, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - false, - false - }; + { + {0u, 3u}, + {0u, 3u}, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + false, + false}; LineRun line2 = - { - { 3u, 6u }, - { 3u, 6u }, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - false, - false - }; + { + {3u, 6u}, + {3u, 6u}, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + false, + false}; LineRun line3 = - { - { 9u, 4u }, - { 9u, 4u }, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - 0.f, - false, - false - }; + { + {9u, 4u}, + {9u, 4u}, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + 0.f, + false, + false}; Vector lines; - lines.PushBack( line1 ); - lines.PushBack( line2 ); - lines.PushBack( line3 ); + lines.PushBack(line1); + lines.PushBack(line2); + lines.PushBack(line3); LayoutTextData data = - { - "Hi Experiment", - textArea, - 1u, - fontDescriptionRuns.Begin(), - 3u, - lines.Begin(), - Layout::Engine::MULTI_LINE_BOX, - 0u, - 13u, - (Text::LineWrap::Mode)DevelText::LineWrap::MIXED - }; - - if( !LayoutTextTest( data ) ) + { + "Hi Experiment", + textArea, + 1u, + fontDescriptionRuns.Begin(), + 3u, + lines.Begin(), + Layout::Engine::MULTI_LINE_BOX, + 0u, + 13u, + (Text::LineWrap::Mode)DevelText::LineWrap::MIXED}; + + if(!LayoutTextTest(data)) { tet_result(TET_FAIL); }