X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-TextSpannable.cpp;h=6af7bb09373cb5a80f55e72552264ef4ba7b1043;hb=c9f39669fbf768680ef3665b5048214077ff7c23;hp=8aec3c1b1bf63b7ab653e101f462fa09023f1f47;hpb=92ef4e31d9d604e00b069dad753fd6dbfa27e17a;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 8aec3c1..6af7bb0 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 @@ -38,7 +38,9 @@ #include #include #include - +#include +#include +#include using namespace Dali; using namespace Toolkit; @@ -105,6 +107,47 @@ Text::SpannableString CreateSpannableStringForCharacterSpacing() return spannableString; } +Text::SpannableString CreateSpannableStringForBoldSpan() +{ + Text::SpannableString spannableString = Text::SpannableString::New("Hello"); + DALI_TEST_CHECK(spannableString); + + auto boldspan = Dali::Toolkit::Text::BoldSpan::New(); + auto isBoldSpan = spannableString.AttachSpan(boldspan,Dali::Toolkit::Text::Range::New(0u, 3u)); + DALI_TEST_CHECK(isBoldSpan); + + return spannableString; + +} + +Text::SpannableString CreateSpannableStringForItalicSpan() +{ + Text::SpannableString spannableString = Text::SpannableString::New("Hello"); + DALI_TEST_CHECK(spannableString); + + auto isAddedItalic = spannableString.AttachSpan( + Text::ItalicSpan::New(), + Text::Range::New(0u, 3u)); + DALI_TEST_CHECK(isAddedItalic); + + return spannableString; +} + +Text::SpannableString CreateSpannableStringForBackgroundColorSpan() +{ + + Text::SpannableString spannableString = Text::SpannableString::New("Hello مرحبا"); + + DALI_TEST_CHECK(spannableString); + + auto isAddedGreen = spannableString.AttachSpan( + Text::BackgroundColorSpan::New(Color::GREEN), + Text::Range::New(5u, 7u)); + DALI_TEST_CHECK(isAddedGreen); + + return spannableString; +} + void CheckColorIndices(const Text::ColorIndex* const colorIndicesBuffer, uint32_t numberOfIndices, std::vector indicesToCheck, @@ -398,4 +441,85 @@ int UtcDaliToolkitTextLabelSetSpannedText_CharacterSpacingSpan(void) const Vector characterSpacing = labelImpl.GetTextController()->GetTextModel()->GetCharacterSpacingGlyphRuns(); DALI_TEST_EQUALS(1, characterSpacing.Count(), TEST_LOCATION); END_TEST; -} \ No newline at end of file +} + +int UtcDaliToolkitTextLabelSetSpannedText_BoldSpan(void) +{ + ToolkitTestApplication application; + + tet_infoline("UtcDaliToolkitTextLabelSetSpannedText_BoldSpan"); + + TextLabel textLabel = TextLabel::New(); + + DALI_TEST_CHECK(textLabel); + + application.GetScene().Add(textLabel); + + Text::SpannableString spannableString = CreateSpannableStringForBoldSpan(); + Text::SetSpannedText(textLabel, spannableString); + + application.SendNotification(); + application.Render(); + + Toolkit::Internal::TextLabel& labelImpl = GetImpl(textLabel); + + const Vector& validFonts = labelImpl.GetTextController()->GetTextModel()->GetFontRuns(); + + DALI_TEST_EQUALS(validFonts.Count(), 2, TEST_LOCATION); + DALI_TEST_EQUALS(validFonts[0].characterRun.characterIndex,0, TEST_LOCATION); + DALI_TEST_EQUALS(validFonts[0].characterRun.GetEndCharacterIndex(),3, TEST_LOCATION); + DALI_TEST_EQUALS(validFonts[0].isBoldRequired, true, TEST_LOCATION); + END_TEST; +} + +int UtcDaliToolkitTextLabelSetSpannedText_ItalicSpan(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliToolkitTextLabelSetSpannedText_ItalicSpan"); + + TextLabel textLabel = TextLabel::New(); + DALI_TEST_CHECK(textLabel); + + application.GetScene().Add(textLabel); + + Text::SpannableString spannableString = CreateSpannableStringForItalicSpan(); + + Text::SetSpannedText(textLabel, spannableString); + application.SendNotification(); + application.Render(); + + Toolkit::Internal::TextLabel& labelImpl = GetImpl(textLabel); + const Vector& validFontsItalic = labelImpl.GetTextController()->GetTextModel()->GetFontRuns(); + + DALI_TEST_EQUALS(validFontsItalic.Count(), 2, TEST_LOCATION); + DALI_TEST_EQUALS(validFontsItalic[0].characterRun.characterIndex, 0, TEST_LOCATION); + DALI_TEST_EQUALS(validFontsItalic[0].characterRun.GetEndCharacterIndex(), 3, TEST_LOCATION); + DALI_TEST_EQUALS(validFontsItalic[0].isItalicRequired, true, TEST_LOCATION); + END_TEST; +} + +int UtcDaliToolkitTextLabelSetSpannedText_BackgroundColorSpan(void) +{ + + ToolkitTestApplication application; + tet_infoline("UtcDaliToolkitTextLabelSetSpannedText_BackgroundColorSpan"); + + TextLabel textLabel = TextLabel::New(); + DALI_TEST_CHECK(textLabel); + + application.GetScene().Add(textLabel); + + Text::SpannableString spannableString = CreateSpannableStringForBackgroundColorSpan(); + Text::SetSpannedText(textLabel, spannableString); + + application.SendNotification(); + application.Render(); + + Toolkit::Internal::TextLabel& labelImpl = GetImpl(textLabel); + const Text::ColorIndex* const backgroundColorIndicesBuffer = labelImpl.GetTextController()->GetTextModel()->GetBackgroundColorIndices(); + + CheckColorIndices(backgroundColorIndicesBuffer, 4u, {0u, 5u, 7u, 10u}, {0u, 1u, 1u, 0u}); + + END_TEST; +} +