X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TextLabel.cpp;h=30aaadecc824ff26324baff349ac6c703344b230;hb=66dc29e50b21f132ca11e1b274c401c243938281;hp=dc3cac476913b6fd4eac9163cc6ad509604fcd96;hpb=a4a06c5a4c6c02861972d1ea9029c64d60bed192;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp index dc3cac4..30aaade 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp @@ -2632,6 +2632,58 @@ int UtcDaliToolkitTextLabelStrikethroughGeneration(void) END_TEST; } +int UtcDaliToolkitTextLabelMarkupRelativeLineHeight(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliToolkitTextLabelMarkupRelativeLineHeight"); + + TextLabel label = TextLabel::New(); + label.SetProperty(Actor::Property::SIZE, Vector2(200.0f, 300.f)); + label.SetProperty(TextLabel::Property::POINT_SIZE, 10); + label.SetProperty(TextLabel::Property::MULTI_LINE, true); + label.SetProperty(TextLabel::Property::TEXT, "line 1\nline 2\nline 3\nline 4\nline 5"); + label.SetProperty(DevelTextLabel::Property::RELATIVE_LINE_SIZE, 1.0f); + label.SetProperty(TextLabel::Property::ELLIPSIS, false); + label.SetProperty(TextLabel::Property::ENABLE_MARKUP, true); + + TextLabel labelSingleLineParagraph = TextLabel::New(); + labelSingleLineParagraph.SetProperty(Actor::Property::SIZE, Vector2(200.0f, 300.f)); + labelSingleLineParagraph.SetProperty(TextLabel::Property::POINT_SIZE, 10); + labelSingleLineParagraph.SetProperty(TextLabel::Property::MULTI_LINE, true); + labelSingleLineParagraph.SetProperty(TextLabel::Property::TEXT, "

line 1

line 2

line 3

line 4

line 5"); + labelSingleLineParagraph.SetProperty(DevelTextLabel::Property::RELATIVE_LINE_SIZE, 1.0f); + labelSingleLineParagraph.SetProperty(TextLabel::Property::ELLIPSIS, false); + labelSingleLineParagraph.SetProperty(TextLabel::Property::ENABLE_MARKUP, true); + + TextLabel labelMultiLineParagraph = TextLabel::New(); + labelMultiLineParagraph.SetProperty(Actor::Property::SIZE, Vector2(200.0f, 300.f)); + labelMultiLineParagraph.SetProperty(TextLabel::Property::POINT_SIZE, 10); + labelMultiLineParagraph.SetProperty(TextLabel::Property::MULTI_LINE, true); + labelMultiLineParagraph.SetProperty(TextLabel::Property::TEXT, "

line 1

line\n2

line 3

line\n4

line 5"); + labelMultiLineParagraph.SetProperty(DevelTextLabel::Property::RELATIVE_LINE_SIZE, 1.0f); + labelMultiLineParagraph.SetProperty(TextLabel::Property::ELLIPSIS, false); + labelMultiLineParagraph.SetProperty(TextLabel::Property::ENABLE_MARKUP, true); + + application.GetScene().Add(label); + application.GetScene().Add(labelSingleLineParagraph); + application.GetScene().Add(labelMultiLineParagraph); + application.SendNotification(); + application.Render(); + + Vector3 naturalSize = label.GetNaturalSize(); + Vector3 relativeSingleNaturalSize = labelSingleLineParagraph.GetNaturalSize(); + Vector3 relativeMultiNaturalSize = labelMultiLineParagraph.GetNaturalSize(); + + float lineSize = naturalSize.y / 5.0f; //total size/number of lines + + //no effect of relative line size for paragraph with single line + DALI_TEST_EQUALS(naturalSize.y, relativeSingleNaturalSize.y, Math::MACHINE_EPSILON_1000, TEST_LOCATION); + + DALI_TEST_EQUALS(lineSize*8.5f, relativeMultiNaturalSize.y, Math::MACHINE_EPSILON_1000, TEST_LOCATION); + + END_TEST; +} + int UtcDaliToolkitTextLabelRelativeLineHeight(void) { ToolkitTestApplication application; @@ -2655,7 +2707,7 @@ int UtcDaliToolkitTextLabelRelativeLineHeight(void) Vector3 relativeNaturalSize = label.GetNaturalSize(); - DALI_TEST_EQUALS(naturalSize.y, relativeNaturalSize.y * 2, TEST_LOCATION); + DALI_TEST_EQUALS(naturalSize.y, relativeNaturalSize.y, TEST_LOCATION); label.SetProperty(DevelTextLabel::Property::RELATIVE_LINE_SIZE, 2.0f); @@ -2691,6 +2743,71 @@ int UtcDaliTextLabelCharacterSpacing(void) END_TEST; } +int UtcDaliTextTextLabelSizeNegativeLineSpacing(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliTextTextLabelSizeNegativeLineSpacing"); + + TextLabel label = TextLabel::New(); + + float lineSpacing = -20.f; + + label.SetProperty(Actor::Property::SIZE, Vector2(450.0f, 300.f)); + label.SetProperty(TextLabel::Property::POINT_SIZE, 10.f); + label.SetProperty(DevelTextLabel::Property::LINE_SPACING, lineSpacing); + label.SetProperty(TextLabel::Property::MULTI_LINE, true); + label.SetProperty(TextLabel::Property::TEXT, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + + application.GetScene().Add(label); + application.SendNotification(); + application.Render(); + + Vector positionsList = DevelTextLabel::GetTextPosition(label, 0, 123); + Vector sizeList = DevelTextLabel::GetTextSize(label, 0, 123); + + Vector2 lastLinePos = positionsList[positionsList.Size() - 1]; + Vector2 lastLineSize = sizeList[sizeList.Size() - 1]; + + DALI_TEST_EQUALS(sizeList[0].y * (sizeList.Size() - 1), lastLinePos.y, Math::MACHINE_EPSILON_1000, TEST_LOCATION); + DALI_TEST_EQUALS(sizeList[0].y - lineSpacing, lastLineSize.y, Math::MACHINE_EPSILON_1000, TEST_LOCATION); + + application.SendNotification(); + application.Render(); + + END_TEST; +} + +int UtcDaliTextLabelNegativeLineSpacingWithEllipsis(void) +{ + ToolkitTestApplication application; + tet_infoline("UtcDaliTextLabelNegativeLineSpacingWithEllipsis"); + + TextLabel label = TextLabel::New(); + + float lineSpacing = -20.f; + + label.SetProperty(Actor::Property::SIZE, Vector2(480.0f, 100.f)); + label.SetProperty(TextLabel::Property::POINT_SIZE, 11.0f); + label.SetProperty(DevelTextLabel::Property::LINE_SPACING, lineSpacing); + label.SetProperty(TextLabel::Property::MULTI_LINE, true); + label.SetProperty(TextLabel::Property::TEXT, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."); + label.SetProperty(TextLabel::Property::ELLIPSIS, true); + + application.GetScene().Add(label); + application.SendNotification(); + application.Render(); + + Vector sizeList = DevelTextLabel::GetTextSize(label, 0, 123); + + int lineCount = sizeList.Size(); + DALI_TEST_EQUALS(4, lineCount, TEST_LOCATION); + + application.SendNotification(); + application.Render(); + + END_TEST; +} + int UtcDaliToolkitTextlabelParagraphTag(void) { ToolkitTestApplication application;