X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TextLabel.cpp;h=a45aa412481d29690b5169826d3affd3ba5fcdae;hb=a251af5671affffe7cc0a0dbc4c22618d4fa387e;hp=8db73dd05caf9d00ffe9c2e3f465ab80ece0281c;hpb=7fff66355288d4705d8e70dee1e8a374165163a7;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 8db73dd..a45aa41 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp @@ -76,7 +76,9 @@ const char* const PROPERTY_NAME_AUTO_SCROLL_LOOP_DELAY = "autoScrollLoopDelay"; const char* const PROPERTY_NAME_FONT_SIZE_SCALE = "fontSizeScale"; const char* const PROPERTY_NAME_ENABLE_FONT_SIZE_SCALE = "enableFontSizeScale"; -const char* const PROPERTY_NAME_ELLIPSIS_POSITION = "ellipsisPosition"; +const char* const PROPERTY_NAME_ELLIPSIS_POSITION = "ellipsisPosition"; +const char* const PROPERTY_NAME_ANCHOR_COLOR = "anchorColor"; +const char* const PROPERTY_NAME_ANCHOR_CLICKED_COLOR = "anchorClickedColor"; const std::string DEFAULT_FONT_DIR("/resources/fonts"); const unsigned int EMOJI_FONT_SIZE = 3840u; // 60 * 64 @@ -356,6 +358,8 @@ int UtcDaliToolkitTextLabelGetPropertyP(void) DALI_TEST_CHECK(label.GetPropertyIndex(PROPERTY_NAME_ENABLE_FONT_SIZE_SCALE) == DevelTextLabel::Property::ENABLE_FONT_SIZE_SCALE); DALI_TEST_CHECK(label.GetPropertyIndex(PROPERTY_NAME_ELLIPSIS_POSITION) == DevelTextLabel::Property::ELLIPSIS_POSITION); DALI_TEST_CHECK(label.GetPropertyIndex(PROPERTY_NAME_STRIKETHROUGH) == DevelTextLabel::Property::STRIKETHROUGH); + DALI_TEST_CHECK(label.GetPropertyIndex(PROPERTY_NAME_ANCHOR_COLOR) == DevelTextLabel::Property::ANCHOR_COLOR); + DALI_TEST_CHECK(label.GetPropertyIndex(PROPERTY_NAME_ANCHOR_CLICKED_COLOR) == DevelTextLabel::Property::ANCHOR_CLICKED_COLOR); END_TEST; } @@ -464,6 +468,13 @@ int UtcDaliToolkitTextLabelSetPropertyP(void) label.SetProperty(TextLabel::Property::TEXT_COLOR, Color::BLUE); DALI_TEST_EQUALS(label.GetProperty(TextLabel::Property::TEXT_COLOR), Color::BLUE, TEST_LOCATION); + // Check that anchor color can be properly set + label.SetProperty(DevelTextLabel::Property::ANCHOR_COLOR, Color::BLUE); + DALI_TEST_EQUALS(label.GetProperty(DevelTextLabel::Property::ANCHOR_COLOR), Color::BLUE, TEST_LOCATION); + + label.SetProperty(DevelTextLabel::Property::ANCHOR_CLICKED_COLOR, Color::RED); + DALI_TEST_EQUALS(label.GetProperty(DevelTextLabel::Property::ANCHOR_CLICKED_COLOR), Color::RED, TEST_LOCATION); + Property::Map strikethroughMapSet; Property::Map strikethroughMapGet; @@ -2078,6 +2089,90 @@ int UtcDaliToolkitTextlabelTextFitStressTest(void) END_TEST; } +int UtcDaliToolkitTextlabelFastTextFitStressTest(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliToolkitTextlabelFastTextFitStressTest"); + TextLabel label = TextLabel::New(); + label.SetProperty(TextLabel::Property::TEXT, "Hello world"); + label.SetProperty(TextLabel::Property::POINT_SIZE, 120.f); + + // connect to the text git changed signal. + ConnectionTracker* testTracker = new ConnectionTracker(); + DevelTextLabel::TextFitChangedSignal(label).Connect(&TestTextFitChangedCallback); + bool textFitChangedSignal = false; + label.ConnectSignal(testTracker, "textFitChanged", CallbackFunctor(&textFitChangedSignal)); + gTextFitChangedCallBackCalled = false; + + application.GetScene().Add(label); + + // check text label width at range [100, 299] + for(int i=100; i<300; i++) + { + Vector2 size((float)i, 200.f); + label.SetProperty(Actor::Property::SIZE, size); + + // check point size with veryvery big range + Property::Map textFitMapSet; + textFitMapSet["enable"] = true; + textFitMapSet["minSize"] = 10.f; + textFitMapSet["maxSize"] = 10000.f; + textFitMapSet["stepSize"] = -1.0f; + textFitMapSet["fontSizeType"] = "pointSize"; + + label.SetProperty(Toolkit::DevelTextLabel::Property::TEXT_FIT, textFitMapSet); + + application.SendNotification(); + application.Render(); + } + + DALI_TEST_CHECK(gTextFitChangedCallBackCalled); + DALI_TEST_CHECK(textFitChangedSignal); + + END_TEST; +} + +int UtcDaliToolkitTextlabelTextFitMultiLine(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliToolkitTextlabelTextFitMultiLine"); + TextLabel label = TextLabel::New(); + Vector2 size(500.0f, 100.0f); + label.SetProperty(Actor::Property::SIZE, size); + label.SetProperty(TextLabel::Property::TEXT, "Hello world\nHello world"); + label.SetProperty(TextLabel::Property::MULTI_LINE, true); + + // connect to the text git changed signal. + ConnectionTracker* testTracker = new ConnectionTracker(); + DevelTextLabel::TextFitChangedSignal(label).Connect(&TestTextFitChangedCallback); + bool textFitChangedSignal = false; + label.ConnectSignal(testTracker, "textFitChanged", CallbackFunctor(&textFitChangedSignal)); + gTextFitChangedCallBackCalled = false; + + Property::Map textFitMapSet; + textFitMapSet["enable"] = true; + textFitMapSet["minSize"] = 10.f; + textFitMapSet["maxSize"] = 100.f; + textFitMapSet["stepSize"] = -1.0f; + textFitMapSet["fontSizeType"] = "pointSize"; + + label.SetProperty(Toolkit::DevelTextLabel::Property::TEXT_FIT, textFitMapSet); + label.SetProperty(TextLabel::Property::POINT_SIZE, 120.f); + + application.GetScene().Add(label); + + application.SendNotification(); + application.Render(); + + float textFitFontSize = (label.GetProperty(Dali::Toolkit::DevelTextLabel::Property::TEXT_FIT).Get())["fontSize"].Get(); + DALI_TEST_EQUALS(textFitFontSize, 14.f, TEST_LOCATION); + + DALI_TEST_CHECK(gTextFitChangedCallBackCalled); + DALI_TEST_CHECK(textFitChangedSignal); + + END_TEST; +} + int UtcDaliToolkitTextlabelTextFitArray(void) { ToolkitTestApplication application; @@ -2440,6 +2535,56 @@ int UtcDaliToolkitTextlabelFontSizeScale(void) END_TEST; } +int UtcDaliToolkitTextlabelAnchorColor(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliToolkitTextlabelAnchorColor"); + TextLabel label = TextLabel::New(); + DALI_TEST_CHECK(label); + + application.GetScene().Add(label); + + // connect to the anchor clicked signal. + ConnectionTracker* testTracker = new ConnectionTracker(); + DevelTextLabel::AnchorClickedSignal(label).Connect(&TestAnchorClickedCallback); + bool anchorClickedSignal = false; + label.ConnectSignal(testTracker, "anchorClicked", CallbackFunctor(&anchorClickedSignal)); + + gAnchorClickedCallBackCalled = false; + label.SetProperty(TextLabel::Property::TEXT, "TIZEN"); + label.SetProperty(TextLabel::Property::ENABLE_MARKUP, true); + label.SetProperty(Actor::Property::SIZE, Vector2(100.f, 50.f)); + label.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + label.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + + // Check that anchor color can be properly set + label.SetProperty(DevelTextLabel::Property::ANCHOR_COLOR, Color::BLUE); + DALI_TEST_EQUALS(label.GetProperty(DevelTextLabel::Property::ANCHOR_COLOR), Color::BLUE, TEST_LOCATION); + + label.SetProperty(DevelTextLabel::Property::ANCHOR_CLICKED_COLOR, Color::RED); + DALI_TEST_EQUALS(label.GetProperty(DevelTextLabel::Property::ANCHOR_CLICKED_COLOR), Color::RED, TEST_LOCATION); + + application.SendNotification(); + application.Render(); + + // Create a tap event to touch the text label. + TestGenerateTap(application, 5.0f, 25.0f, 100); + application.SendNotification(); + application.Render(); + + // Update clicked color + label.SetProperty(DevelTextLabel::Property::ANCHOR_CLICKED_COLOR, Color::BLUE); + DALI_TEST_EQUALS(label.GetProperty(DevelTextLabel::Property::ANCHOR_CLICKED_COLOR), Color::BLUE, TEST_LOCATION); + + application.SendNotification(); + application.Render(); + + DALI_TEST_CHECK(gAnchorClickedCallBackCalled); + DALI_TEST_CHECK(anchorClickedSignal); + + END_TEST; +} + // Positive test for the anchorClicked signal. int UtcDaliToolkitTextlabelAnchorClicked(void) { @@ -2485,7 +2630,7 @@ int UtcDaliToolkitTextlabelAnchorClicked(void) // sets anchor text label.SetProperty(TextLabel::Property::ENABLE_MARKUP, true); - label.SetProperty(TextLabel::Property::TEXT, "TIZEN"); + label.SetProperty(TextLabel::Property::TEXT, "TIZEN"); label.SetProperty(Actor::Property::SIZE, Vector2(100.f, 50.f)); label.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); label.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT);