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-ProgressBar.cpp;h=a43b2c61b481cac1b2bce2d49978e77f513ed865;hp=2a2ae20cc2b562ffdf9721b8649232db9df5f259;hb=5e351965bad7e1de2e94027548b022bac692603c;hpb=b81c20064def5a5017e77876effd01ddc5bb39d6 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ProgressBar.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ProgressBar.cpp index 2a2ae20..a43b2c6 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ProgressBar.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ProgressBar.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. @@ -17,7 +17,6 @@ #include #include -#include using namespace Dali; using namespace Dali::Toolkit; @@ -36,7 +35,10 @@ void utc_dali_toolkit_progressbar_cleanup(void) namespace { - +static const char* trackImage = TEST_RESOURCE_DIR "/progress-bar-skin-track-progress.png"; +static const char* progressImage = TEST_RESOURCE_DIR "/progress-bar-skin-progress-progress.png"; +static const char* secondaryProgressImage = TEST_RESOURCE_DIR "/progress-bar-skin-secondary-progress.png"; +static const char* indeterminateImage = TEST_RESOURCE_DIR "/progress-bar-skin-indeterminate.png"; static bool gObjectCreatedCallBackCalled; static void TestCallback(BaseHandle handle) @@ -107,7 +109,7 @@ int UtcDaliProgressBarDownCast(void) static bool gProgressBarValueChangedCallBackCalled = false; -static void OnProgressBarValueChanged( ProgressBar progressBar, float value ) +static void OnProgressBarValueChanged( ProgressBar progressBar, float value, float secondaryValue ) { gProgressBarValueChangedCallBackCalled = true; } @@ -124,14 +126,21 @@ int UtcDaliProgressBarSignals(void) progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT); progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) ); progressBar.SetPosition( 0.0f, 0.0f ); - progressBar.ValueChangedSignal().Connect( &OnProgressBarValueChanged ); + progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f); application.SendNotification(); application.Render(); - //gProgressBarValueChangedCallBackCalled = false; + DALI_TEST_CHECK(gProgressBarValueChangedCallBackCalled); + + //Check Secondary progress value can make signal + gProgressBarValueChangedCallBackCalled = false; + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, 0.2f); + + application.SendNotification(); + application.Render(); DALI_TEST_CHECK(gProgressBarValueChangedCallBackCalled); END_TEST; @@ -147,91 +156,140 @@ int UtcDaliProgressBarSetPropertyP(void) progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT); progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) ); progressBar.SetPosition( 0.0f, 0.0f ); - + progressBar.ValueChangedSignal().Connect( &OnProgressBarValueChanged ); Stage::GetCurrent().Add(progressBar); application.SendNotification(); application.Render(); - float val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.2f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.8f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.8f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.4f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.4f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 1.0f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 1.0f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, -1.0f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 1.0f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.9f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 1.1f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 2.0f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.9f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.09f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.09f, TEST_LOCATION); - - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.1f); - val = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VALUE); - DALI_TEST_EQUALS(val, 0.1f, TEST_LOCATION); - - { - Property::Map map; - map["rendererType"] = "image"; - map["size"] = Vector2(200, 200); - map["url"] = "track2.png"; - progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, map); - map["url"] = "progress2.png"; - progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, map); - - Property::Value value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL); - Property::Map* resultMap = value.GetMap(); - DALI_TEST_CHECK( resultMap ); - Property::Value* url = resultMap->Find("url"); - DALI_TEST_CHECK( url ) ; - DALI_TEST_EQUALS( *url, "track2.png", TEST_LOCATION ); - - value = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VISUAL); - resultMap = value.GetMap(); - DALI_TEST_CHECK( resultMap ); - url = resultMap->Find("url"); - DALI_TEST_CHECK( url ) ; - DALI_TEST_EQUALS( *url, "progress2.png", TEST_LOCATION ); - - } - + Property::Map map; + map["visualType"] = "IMAGE"; + map[Toolkit::ImageVisual::Property::URL] = trackImage; + progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, map); + + Property::Value value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL); + Property::Map* resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + Property::Value* urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL ); + std::string urlString; + urlValue->Get( urlString ); + DALI_TEST_CHECK( !urlString.empty() ) ; + DALI_TEST_EQUALS( urlString, trackImage, TEST_LOCATION ); + + Property::Map colorMap; + colorMap["visualType"] = "COLOR"; + colorMap[Toolkit::ColorVisual::Property::MIX_COLOR] = Color::RED; + progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, colorMap); + + value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + Property::Value* colorValue = resultMap->Find( Toolkit::ColorVisual::Property::MIX_COLOR ); + Vector4 color = Color::TRANSPARENT; + colorValue->Get( color ); + DALI_TEST_CHECK( color != Color::TRANSPARENT ); + DALI_TEST_EQUALS( color, Color::RED, TEST_LOCATION ); + + map[Toolkit::ImageVisual::Property::URL] = progressImage; + progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, map); + + value = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL ); + urlValue->Get( urlString ); + DALI_TEST_CHECK( !urlString.empty() ) ; + DALI_TEST_EQUALS( urlString, progressImage, TEST_LOCATION ); + + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, secondaryProgressImage); + + value = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL ); + urlValue->Get( urlString ); + DALI_TEST_CHECK( !urlString.empty() ) ; + DALI_TEST_EQUALS( urlString, secondaryProgressImage, TEST_LOCATION ); + + map[Toolkit::ImageVisual::Property::URL] = secondaryProgressImage; + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, map); + + value = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL ); + urlValue->Get( urlString ); + DALI_TEST_CHECK( !urlString.empty() ) ; + DALI_TEST_EQUALS( urlString, secondaryProgressImage, TEST_LOCATION ); + + map[Toolkit::ImageVisual::Property::URL] = indeterminateImage; + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL, map); + + value = progressBar.GetProperty(ProgressBar::Property::INDETERMINATE_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + urlValue = resultMap->Find( Toolkit::ImageVisual::Property::URL ); + urlValue->Get( urlString ); + DALI_TEST_CHECK( !urlString.empty() ) ; + DALI_TEST_EQUALS( urlString, indeterminateImage, TEST_LOCATION ); + + progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, "test1"); + + value = progressBar.GetProperty(ProgressBar::Property::LABEL_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + Property::Value* textValue = resultMap->Find(Toolkit::TextVisual::Property::TEXT); + + std::string textString; + textValue->Get( textString ); + DALI_TEST_CHECK( !textString.empty() ); + DALI_TEST_EQUALS( textString, std::string( "test1" ), TEST_LOCATION ); + + Property::Map textVisualMap2; + textVisualMap2.Insert( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ); + textVisualMap2.Insert( Toolkit::TextVisual::Property::TEXT, "test2" ); + textVisualMap2.Insert( Toolkit::TextVisual::Property::POINT_SIZE, 12.0f ); + progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, textVisualMap2); + + value = progressBar.GetProperty(ProgressBar::Property::LABEL_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + textValue = resultMap->Find(Toolkit::TextVisual::Property::TEXT); + + textValue->Get( textString ); + DALI_TEST_CHECK( !textString.empty() ); + DALI_TEST_EQUALS( textString, std::string( "test2" ), TEST_LOCATION ); + + progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, "test3"); + + value = progressBar.GetProperty(ProgressBar::Property::LABEL_VISUAL); + resultMap = value.GetMap(); + DALI_TEST_CHECK( resultMap ); + textValue = resultMap->Find(Toolkit::TextVisual::Property::TEXT); + + std::string textString2; + textValue->Get( textString2 ); + DALI_TEST_CHECK( !textString2.empty() ); + DALI_TEST_EQUALS( textString2, std::string( "test3" ), TEST_LOCATION ); + + Property::Map transitionMap; + transitionMap["target"] = "indeterminateVisual"; + transitionMap["property"] = "offset"; + transitionMap["initialValue"] = Vector2( 0.0f, 0.0f ); + transitionMap["targetValue"] = Vector2( 10.0f, 0.0f ); + transitionMap["animator"] = Property::Map().Add("alphaFunction", "EASE_IN_OUT_BACK") + .Add("timePeriod", Property::Map().Add("delay", 0.5f).Add("duration", 1.0f)); + Property::Array array; + array.PushBack( transitionMap ); + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION, array); + + Property::Map transitionMap2; + transitionMap2["target"] = "indeterminateVisual"; + transitionMap2["property"] = "offset"; + transitionMap2["initialValue"] = Vector2( 0.0f, 0.0f ); + transitionMap2["targetValue"] = Vector2( 15.0f, 0.0f ); + transitionMap2["animator"] = Property::Map().Add("alphaFunction", "EASE_IN_OUT_BACK") + .Add("timePeriod", Property::Map().Add("delay", 0.5f).Add("duration", 1.0f)); + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION, transitionMap2); END_TEST; } @@ -245,6 +303,7 @@ int UtcDaliProgressBarSetPropertyP1(void) progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT); progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) ); progressBar.SetPosition( 0.0f, 0.0f ); + progressBar.ValueChangedSignal().Connect( &OnProgressBarValueChanged ); Stage::GetCurrent().Add(progressBar); application.SendNotification(); @@ -254,7 +313,7 @@ int UtcDaliProgressBarSetPropertyP1(void) DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION); // test to download a file of 100k in chunks - float lowerBound = 0, upperBound = 100, progressValue = 0, chunkValue = 0; + float lowerBound = 0, upperBound = 100, progressValue = 0, secondaryProgressValue = 0, chunkValue = 0; while( chunkValue <= upperBound ) { @@ -277,6 +336,76 @@ int UtcDaliProgressBarSetPropertyP1(void) chunkValue = chunkValue + 100; } + val = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE); + DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION); + + // test to download a file of 100k in chunks + lowerBound = 0, upperBound = 100, secondaryProgressValue = 0, chunkValue = 0; + + while( chunkValue <= upperBound ) + { + secondaryProgressValue = (chunkValue - lowerBound ) / ( upperBound - lowerBound ); + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, secondaryProgressValue); + val = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE); + DALI_TEST_EQUALS(val, secondaryProgressValue, TEST_LOCATION); + chunkValue = chunkValue + 10; + } + + // test to download a file of 1000k in chunks + lowerBound = 0, upperBound = 1000, secondaryProgressValue = 0, chunkValue = 0; + + while( chunkValue <= upperBound ) + { + secondaryProgressValue = (chunkValue - lowerBound ) / ( upperBound - lowerBound ); + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, secondaryProgressValue); + val = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE); + DALI_TEST_EQUALS(val, secondaryProgressValue, TEST_LOCATION); + chunkValue = chunkValue + 100; + } + END_TEST; } +int UtcDaliProgressBarSetPropertyP2(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliProgressBarSetPropertyP2" ); + + ProgressBar progressBar = ProgressBar::New(); + progressBar.SetParentOrigin(ParentOrigin::TOP_LEFT); + progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT); + progressBar.SetPosition( 0.0f, 0.0f ); + progressBar.SetProperty(ProgressBar::Property::LABEL_VISUAL, "test"); + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE, true); + progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, trackImage); + progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, progressImage); + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, secondaryProgressImage); + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL, indeterminateImage); + + Property::Map transitionMap; + transitionMap["target"] = "indeterminateVisual"; + transitionMap["property"] = "offset"; + transitionMap["initialValue"] = Vector2( 0.0f, 0.0f ); + transitionMap["targetValue"] = Vector2( 10.0f, 0.0f ); + transitionMap["animator"] = Property::Map().Add("alphaFunction", "EASE_IN_OUT_BACK") + .Add("timePeriod", Property::Map().Add("delay", 0.5f).Add("duration", 1.0f)); + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION, transitionMap); + progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f); + progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, 0.3f); + + progressBar.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); + progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) ); + Stage::GetCurrent().Add(progressBar); + application.SendNotification(); + application.Render(); + + // Test get/set INDETERMINATE + bool val = progressBar.GetProperty(ProgressBar::Property::INDETERMINATE); + DALI_TEST_EQUALS(val, true, TEST_LOCATION); + + progressBar.SetProperty(ProgressBar::Property::INDETERMINATE, false); + val = progressBar.GetProperty(ProgressBar::Property::INDETERMINATE); + DALI_TEST_EQUALS(val, false, TEST_LOCATION); + + END_TEST; +}