X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-TextSpannable.cpp;h=1143326f150926ef88bb42cfb5bcf1f8a48acb83;hb=9c0cbda5b2ec3a3355f006177fb839ac83823a1f;hp=1f710000ab6bf252629ddace57b86c7edf09f750;hpb=31d704fbcf71a27571c66b30452a0c6ab4fe9b6e;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-TextSpannable.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-TextSpannable.cpp index 1f71000..1143326 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-TextSpannable.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-TextSpannable.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -76,6 +77,19 @@ Text::SpannableString CreateSpannableStringForFontSpan() return spannableString; } +Text::SpannableString CreateSpannableStringForUnderlineSpan() +{ + Text::SpannableString spannableString = Text::SpannableString::New("Hello World"); + DALI_TEST_CHECK(spannableString); + + auto isAddedUnderlineSpan = spannableString.AttachSpan( + Text::UnderlineSpan::NewDashed(Color::GREEN, 5.0f, 2.0f, 3.0f), + Text::Range::New(5u, 7u)); + DALI_TEST_CHECK(isAddedUnderlineSpan); + + return spannableString; +} + void CheckColorIndices(const Text::ColorIndex* const colorIndicesBuffer, uint32_t numberOfIndices, std::vector indicesToCheck, @@ -302,4 +316,50 @@ int UtcDaliTextModelIsSpannedTextPlaced(void) tet_result(TET_PASS); END_TEST; +} + +int UtcDaliToolkitTextLabelSetSpannedText_UnderlineSpan(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliToolkitTextLabelSetSpannedText_UnderlineSpan "); + + Dali::Toolkit::Text::UnderlineStyleProperties expectedProperties = { + Text::Underline::DASHED, + Color::GREEN, + 5u, + 2u, + 3u, + true, + true, + true, + true, + true}; + + TextLabel textLabel = TextLabel::New(); + DALI_TEST_CHECK(textLabel); + application.GetScene().Add(textLabel); + + Text::SpannableString spannableString = CreateSpannableStringForUnderlineSpan(); + + Text::SetSpannedText(textLabel, spannableString); + + application.SendNotification(); + application.Render(); + + Toolkit::Internal::TextLabel& labelImpl = GetImpl(textLabel); + const Text::Length numberOfUnderlineRuns = labelImpl.GetTextController()->GetTextModel()->GetNumberOfUnderlineRuns(); + + DALI_TEST_EQUALS(numberOfUnderlineRuns, 1u, TEST_LOCATION); + + Vector underlineRuns; + + underlineRuns.Resize(numberOfUnderlineRuns); + + labelImpl.GetTextController()->GetTextModel()->GetUnderlineRuns(underlineRuns.Begin(), 0u, numberOfUnderlineRuns); + + DALI_TEST_EQUALS(underlineRuns[0].glyphRun.glyphIndex, 5u, TEST_LOCATION); + DALI_TEST_EQUALS(underlineRuns[0].glyphRun.numberOfGlyphs, 3u, TEST_LOCATION); + DALI_TEST_CHECK(underlineRuns[0].properties == expectedProperties); + + END_TEST; } \ No newline at end of file