X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-Controller.cpp;h=f2e761f49359b32f7bb4a72e0bf78b14cd21dec4;hb=63f9b5207c2794cdc460d587723be89585872a51;hp=ae91f4c125ea20d698249847dbb59f4e0cde5b3d;hpb=44835162f4c0107591223e60557ee62b79cab35a;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 ae91f4c..f2e761f 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp @@ -19,12 +19,14 @@ #include #include +#include #include #include #include #include #include +#include using namespace Dali; using namespace Toolkit; @@ -42,6 +44,8 @@ const char* const OPTION_CLIPBOARD("optionClipboard"); // "Clipboard" popup const Size CONTROL_SIZE( 300.f, 60.f ); +const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); + class ControlImpl : public ControlInterface, public Text::EditableControlInterface { public: @@ -364,3 +368,157 @@ int UtcDaliTextControllerGetInputUnderlineProperty(void) tet_result(TET_PASS); END_TEST; } + +int UtcDaliTextControllerSetGetAutoScrollEnabled(void) +{ + tet_infoline(" UtcDaliTextControllerSetGetAutoScrollEnabled"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + DALI_TEST_CHECK( controller ); + + DALI_TEST_CHECK( !controller->IsAutoScrollEnabled() ); + + // The auto scrolling shouldn't be enabled if the multi-line is enabled. + + // Enable multi-line. + controller->SetMultiLineEnabled( true ); + + // Enable text scrolling. + controller->SetAutoScrollEnabled( true ); + + DALI_TEST_CHECK( !controller->IsAutoScrollEnabled() ); + + // Disable multi-line. + controller->SetMultiLineEnabled( false ); + + // Enable text scrolling. + controller->SetAutoScrollEnabled( true ); + + // Should be ebabled now. + DALI_TEST_CHECK( controller->IsAutoScrollEnabled() ); + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextControllerSetGetAutoScrollSpeed(void) +{ + tet_infoline(" UtcDaliTextControllerSetGetAutoScrollSpeed"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + DALI_TEST_CHECK( controller ); + + // Check the default value. + DALI_TEST_EQUALS( 0, controller->GetAutoScrollSpeed(), TEST_LOCATION ); + + // Set the auto scroll speed. + controller->SetAutoscrollSpeed( 10 ); + + DALI_TEST_EQUALS( 10, controller->GetAutoScrollSpeed(), TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextControllerSetGetAutoScrollLoopCount(void) +{ + tet_infoline(" UtcDaliTextControllerSetGetAutoScrollLoopCount"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + DALI_TEST_CHECK( controller ); + + // Check the default value. + DALI_TEST_EQUALS( 0, controller->GetAutoScrollLoopCount(), TEST_LOCATION ); + + // Set the auto scroll loop count. + controller->SetAutoScrollLoopCount( 5 ); + + DALI_TEST_EQUALS( 5, controller->GetAutoScrollLoopCount(), TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextControllerSetGetAutoScrollWrapGap(void) +{ + tet_infoline(" UtcDaliTextControllerSetGetAutoScrollWrapGap"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + DALI_TEST_CHECK( controller ); + + // Check the default value. + DALI_TEST_EQUALS( 0.f, controller->GetAutoScrollWrapGap(), Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + // Set the auto scroll loop count. + controller->SetAutoScrollWrapGap( 25.f ); + + DALI_TEST_EQUALS( 25.f, controller->GetAutoScrollWrapGap(), Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextControllerGetAutoScrollData(void) +{ + tet_infoline(" UtcDaliTextControllerGetAutoScrollData"); + ToolkitTestApplication application; + + // Load some fonts to get the same metrics on different platforms. + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + fontClient.SetDpi( 96u, 96u ); + + char* pathNamePtr = get_current_dir_name(); + const std::string pathName( pathNamePtr ); + free( pathNamePtr ); + + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf" ); + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + DALI_TEST_CHECK( controller ); + + DALI_TEST_CHECK( NULL == controller->GetAutoScrollData() ); + + // Set and check some values. + controller->SetAutoscrollSpeed( 10 ); + controller->SetAutoScrollLoopCount( 5 ); + controller->SetAutoScrollWrapGap( 25.f ); + + const ScrollerData* scrollerData = controller->GetAutoScrollData(); + DALI_TEST_CHECK( NULL != controller->GetAutoScrollData() ); + + DALI_TEST_EQUALS( Size::ZERO, scrollerData->mControlSize, TEST_LOCATION ); + DALI_TEST_EQUALS( Size::ZERO, scrollerData->mOffscreenSize, TEST_LOCATION ); + DALI_TEST_EQUALS( 10, scrollerData->mScrollSpeed, TEST_LOCATION ); + DALI_TEST_EQUALS( 5, scrollerData->mLoopCount, TEST_LOCATION ); + DALI_TEST_EQUALS( 25.f, scrollerData->mWrapGap, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + DALI_TEST_EQUALS( 0.f, scrollerData->mAlignmentOffset, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + DALI_TEST_CHECK( !scrollerData->mAutoScrollDirectionRTL ); + + // Set some text and layout. + controller->SetMarkupProcessorEnabled( true ); + controller->SetHorizontalAlignment( LayoutEngine::HORIZONTAL_ALIGN_END ); + controller->SetText( "Hello world" ); + controller->Relayout( Size( 100.f, 20.f ) ); + + scrollerData = controller->GetAutoScrollData(); + DALI_TEST_EQUALS( Size( 100.f, 20.f ), scrollerData->mControlSize, TEST_LOCATION ); + DALI_TEST_EQUALS( Size( 80.f, 20.f ), scrollerData->mOffscreenSize, TEST_LOCATION ); + DALI_TEST_EQUALS( 20.f, scrollerData->mAlignmentOffset, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +}