X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TextField.cpp;h=a4b3c70959a42d1244d615b8604c89bf25fd1733;hp=7dffc693e35b54cca448e276e4d0d25d051f13ba;hb=dfebb1e3da197e21bd7f4424ab65884b98f42fea;hpb=831bd867847c32ac74b56c08757b0bed74f73238 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp index 7dffc69..a4b3c70 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -118,15 +118,9 @@ static Dali::Toolkit::TextField::InputStyle::Mask gInputStyleMask; static void LoadBitmapResource(TestPlatformAbstraction& platform, int width, int height) { - Integration::ResourceRequest* request = platform.GetRequest(); Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_DISCARD ); Integration::ResourcePointer resource(bitmap); bitmap->GetPackedPixelsProfile()->ReserveBuffer(Pixel::RGBA8888, width, height, width, height); - - if(request) - { - platform.SetResourceLoaded(request->GetId(), request->GetType()->id, resource); - } } static void LoadMarkerImages(ToolkitTestApplication& app, TextField textField) @@ -585,7 +579,10 @@ int UtcDaliTextFieldSetPropertyP(void) DALI_TEST_EQUALS( field.GetProperty( TextField::Property::MAX_LENGTH ), maxNumberOfCharacters, TEST_LOCATION ); // Check exceed policy - // Set a different exceed policy is not implemented. + field.SetProperty( TextField::Property::EXCEED_POLICY, Dali::Toolkit::TextField::EXCEED_POLICY_CLIP ); + DALI_TEST_EQUALS( field.GetProperty( TextField::Property::EXCEED_POLICY ), static_cast( Dali::Toolkit::TextField::EXCEED_POLICY_CLIP ), TEST_LOCATION ); + field.SetProperty( TextField::Property::EXCEED_POLICY, Dali::Toolkit::TextField::EXCEED_POLICY_ORIGINAL ); + DALI_TEST_EQUALS( field.GetProperty( TextField::Property::EXCEED_POLICY ), static_cast( Dali::Toolkit::TextField::EXCEED_POLICY_ORIGINAL ), TEST_LOCATION ); // Check that the Alignment properties can be correctly set field.SetProperty( TextField::Property::HORIZONTAL_ALIGNMENT, "END" ); @@ -651,6 +648,38 @@ int UtcDaliTextFieldSetPropertyP(void) field.SetProperty( TextField::Property::DECORATION_BOUNDING_BOX, Rect( 0, 0, 1, 1 ) ); DALI_TEST_EQUALS( field.GetProperty >( TextField::Property::DECORATION_BOUNDING_BOX ), Rect( 0, 0, 1, 1 ), TEST_LOCATION ); + // Check the input method setting + Property::Map propertyMap; + InputMethod::PanelLayout::Type panelLayout = InputMethod::PanelLayout::NUMBER; + InputMethod::AutoCapital::Type autoCapital = InputMethod::AutoCapital::WORD; + InputMethod::ActionButtonTitle::Type actionButton = InputMethod::ActionButtonTitle::GO; + int inputVariation = 1; + propertyMap["PANEL_LAYOUT"] = panelLayout; + propertyMap["AUTO_CAPITALISE"] = autoCapital; + propertyMap["ACTION_BUTTON"] = actionButton; + propertyMap["VARIATION"] = inputVariation; + field.SetProperty( TextField::Property::INPUT_METHOD_SETTINGS, propertyMap ); + + Property::Value value = field.GetProperty( TextField::Property::INPUT_METHOD_SETTINGS ); + Property::Map map; + DALI_TEST_CHECK( value.Get( map ) ); + + int layout = 0; + DALI_TEST_CHECK( map[ "PANEL_LAYOUT" ].Get( layout ) ); + DALI_TEST_EQUALS( static_cast(panelLayout), layout, TEST_LOCATION ); + + int capital = 0; + DALI_TEST_CHECK( map[ "AUTO_CAPITALISE" ].Get( capital ) ); + DALI_TEST_EQUALS( static_cast(autoCapital), capital, TEST_LOCATION ); + + int action = 0; + DALI_TEST_CHECK( map[ "ACTION_BUTTON" ].Get( action ) ); + DALI_TEST_EQUALS( static_cast(actionButton), action, TEST_LOCATION ); + + int variation = 0; + DALI_TEST_CHECK( map[ "VARIATION" ].Get( variation ) ); + DALI_TEST_EQUALS( inputVariation, variation, TEST_LOCATION ); + // Check input color property. field.SetProperty( TextField::Property::INPUT_COLOR, Color::YELLOW ); DALI_TEST_EQUALS( field.GetProperty( TextField::Property::INPUT_COLOR ), Color::YELLOW, TEST_LOCATION ); @@ -1460,15 +1489,11 @@ int utcDaliTextFieldEvent02(void) application.SendNotification(); application.Render(); - // Check there are the expected number of children ( offscreen root actor, and the offscreen image view - DALI_TEST_EQUALS( field.GetChildCount(), 2u, TEST_LOCATION ); - - Actor offscreenRoot = field.GetChildAt( 0u ); - DALI_TEST_CHECK( offscreenRoot.IsLayer() ); - DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 1u, TEST_LOCATION ); // The camera actor. + // Check there are the expected number of children ( stencil ). + DALI_TEST_EQUALS( field.GetChildCount(), 1u, TEST_LOCATION ); - Actor offscreenImage = field.GetChildAt( 1u ); - DALI_TEST_CHECK( offscreenImage ); + Actor stencil = field.GetChildAt( 0u ); + DALI_TEST_EQUALS( stencil.GetChildCount(), 0u, TEST_LOCATION ); // Create a tap event to touch the text field. application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 150.0f, 25.0f ) ) ); @@ -1478,11 +1503,11 @@ int utcDaliTextFieldEvent02(void) application.SendNotification(); application.Render(); - Actor layer = field.GetChildAt( 2u ); + Actor layer = field.GetChildAt( 1u ); DALI_TEST_CHECK( layer.IsLayer() ); DALI_TEST_EQUALS( layer.GetChildCount(), 1u, TEST_LOCATION ); // The cursor. - DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 1u, TEST_LOCATION ); // The camera actor. + DALI_TEST_EQUALS( stencil.GetChildCount(), 0u, TEST_LOCATION ); // Now the text field has the focus, so it can handle the key events. application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) ); @@ -1494,16 +1519,13 @@ int utcDaliTextFieldEvent02(void) // Checks the cursor and the renderer have been created. DALI_TEST_EQUALS( layer.GetChildCount(), 1u, TEST_LOCATION ); // The cursor. - DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 2u, TEST_LOCATION ); // The camera actor and the renderer + DALI_TEST_EQUALS( stencil.GetChildCount(), 1u, TEST_LOCATION ); // The renderer Control cursor = Control::DownCast( layer.GetChildAt( 0u ) ); DALI_TEST_CHECK( cursor ); - CameraActor camera = CameraActor::DownCast( offscreenRoot.GetChildAt( 0u ) ); - DALI_TEST_CHECK( camera ); - // The offscreen root actor has a container with all the actors which contain the text renderers. - Actor container = offscreenRoot.GetChildAt( 1u ); + Actor container = stencil.GetChildAt( 0u ); for( unsigned int index = 0; index < container.GetChildCount(); ++index ) { Renderer renderer = container.GetChildAt( index ).GetRendererAt( 0u ); @@ -1577,7 +1599,7 @@ int utcDaliTextFieldEvent02(void) DALI_TEST_EQUALS( position2, position6, TEST_LOCATION );// Should be in the same position2. // Should not be a renderer. - DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 1u, TEST_LOCATION ); // The camera actor only. + DALI_TEST_EQUALS( stencil.GetChildCount(), 0u, TEST_LOCATION ); END_TEST; } @@ -1624,22 +1646,18 @@ int utcDaliTextFieldEvent03(void) application.SendNotification(); application.Render(); - // The offscreen root actor should have three actors: the camera, a renderer and the highlight actor. - Actor offscreenRoot = field.GetChildAt( 1u ); - DALI_TEST_CHECK( offscreenRoot.IsLayer() ); - - CameraActor camera = CameraActor::DownCast( offscreenRoot.GetChildAt( 0u ) ); - DALI_TEST_CHECK( camera ); + // The offscreen root actor should have two actors: the renderer and the highlight actor. + Actor stencil = field.GetChildAt( 0u ); // The offscreen root actor has a container with all the actors which contain the text renderers. - Actor container = offscreenRoot.GetChildAt( 1u ); + Actor container = stencil.GetChildAt( 0u ); for( unsigned int index = 0; index < container.GetChildCount(); ++index ) { Renderer renderer = container.GetChildAt( index ).GetRendererAt( 0u ); DALI_TEST_CHECK( renderer ); } - Renderer highlight = offscreenRoot.GetChildAt( 2u ).GetRendererAt( 0u ); + Renderer highlight = stencil.GetChildAt( 1u ).GetRendererAt( 0u ); DALI_TEST_CHECK( highlight ); END_TEST; @@ -1770,7 +1788,7 @@ int utcDaliTextFieldEvent05(void) SendPan(application, Gesture::Finished, pos); Wait(application, RENDER_FRAME_INTERVAL); - Actor offscreenRoot = field.GetChildAt( 1u ); + Actor stencil = field.GetChildAt( 1u ); END_TEST; } @@ -1848,6 +1866,9 @@ int utcDaliTextFieldEvent07(void) field.SetSize( 300.f, 50.f ); field.SetParentOrigin( ParentOrigin::TOP_LEFT ); field.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + Property::Map propertyMap; + propertyMap["PANEL_LAYOUT"] = InputMethod::PanelLayout::PASSWORD; + field.SetProperty( TextField::Property::INPUT_METHOD_SETTINGS, propertyMap ); // Avoid a crash when core load gl resources. application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE ); @@ -2028,5 +2049,12 @@ int utcDaliTextFieldStyleWhilstSelected(void) DALI_TEST_EQUALS( fontStyleMapGet.Count(), fontStyleMapSet.Count(), TEST_LOCATION ); DALI_TEST_EQUALS( DaliTestCheckMaps( fontStyleMapGet, fontStyleMapSet ), true, TEST_LOCATION ); + // Press Escape to increase coverage + application.ProcessEvent( GenerateKey( "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::Up ) ); + application.SendNotification(); + application.Render(); + + DALI_TEST_CHECK( !field.HasKeyInputFocus() ); + END_TEST; }