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-Controller.cpp;h=e5816267b653c4db2448d3a299c63ff9e5d3abb5;hp=66b7149451aae39f53702ee38ccae086872a4fc8;hb=cf1b43bf049ab1a4c9451cd39a836836d4d76b8d;hpb=9df674d995218c964b7e498f83daed40da766464 diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp index 66b7149..e581626 100755 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -574,8 +575,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // single line, line spacing = 0px { const float EXPECTED_SPACING = 0.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 326.0f, 19.0f); - const Vector3 EXPECTED_NATURAL_SIZE( 326.0f, 20.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 342.0f, 19.0f); + const Vector3 EXPECTED_NATURAL_SIZE( 342.0f, 20.0f, 0.0f ); controller->SetText(textSingle); controller->Relayout(size); @@ -593,8 +594,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // single line, line spacing = 20px { const float EXPECTED_SPACING = 20.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 326.0f, 19.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 326.0f, 40.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 342.0f, 19.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 342.0f, 40.0f, 0.0f ); controller->SetText(textSingle); controller->Relayout(size); @@ -613,8 +614,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // multi-line, line spacing = 0px { const float EXPECTED_SPACING = 0.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 318.0f, 39.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 116.0f, 58.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 332.0f, 39.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 118.0f, 58.0f, 0.0f ); controller->SetText(textMulti); controller->Relayout(size); @@ -633,8 +634,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // multi-line, line spacing = 20px { const float EXPECTED_SPACING = 20.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 115.0f, 57.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 116.0f, 118.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 118.0f, 57.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 118.0f, 118.0f, 0.0f ); controller->SetText(textMulti); controller->Relayout(size); @@ -653,8 +654,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // multi-line, line spacing = 30px { const float EXPECTED_SPACING = 30.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 115.0f, 117.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 116.0f, 148.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 118.0f, 117.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 118.0f, 148.0f, 0.0f ); controller->SetText(textMulti); controller->Relayout(size); @@ -1002,3 +1003,83 @@ int UtcDaliTextControllerCheckInputFontPointSizeChanged(void) END_TEST; } + +int UtcDaliTextControllerSelectEvent(void) +{ + tet_infoline(" UtcDaliTextControllerSelectEvent"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + // Configures the text controller similarly to the text-field. + ConfigureTextField( controller ); + + // Set the text + const std::string text("Hello World!"); + controller->SetText( text ); + + // Select the whole text. + controller->SelectEvent( 0.f, 0.f, false ); + + // Perform a relayout + const Size size( Dali::Stage::GetCurrent().GetSize() ); + controller->Relayout(size); + + // Get the implementation of the text controller + Controller::Impl& mImpl = Controller::Impl::GetImplementation( *controller.Get() ); + + // Check if the whole text is selected or not. + std::string retrieved_text; + mImpl.RetrieveSelection( retrieved_text, false ); + DALI_TEST_EQUALS( "Hello", retrieved_text, TEST_LOCATION ); + + // Select the whole text. + controller->SelectEvent( 0.f, 0.f, true ); + + // Perform a relayout + controller->Relayout( size ); + + mImpl.RetrieveSelection( retrieved_text, false ); + DALI_TEST_EQUALS( text, retrieved_text, TEST_LOCATION ); + + END_TEST; +} + + +int UtcDaliTextControllerMaxLengthSetText(void) +{ + tet_infoline(" UtcDaliTextControllerMaxLengthSetText"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + ConfigureTextLabel(controller); + + const Length MAX_TEXT_LENGTH = 1024u * 32u; + + // make over length world + int maxLength = (1024u * 32u) + 10u; + char world[maxLength]; + for( int i = 0; i < maxLength; i++ ) + { + world[i] = 'a'; + } + + // Set the text + std::string text(world); + controller->SetText( text ); + + // Perform a relayout + const Size size( Dali::Stage::GetCurrent().GetSize() ); + controller->Relayout(size); + + // check text length + controller->GetText( text ); + Length textSize = text.size(); + + DALI_TEST_EQUALS( MAX_TEXT_LENGTH, textSize, TEST_LOCATION ); + + END_TEST; +}