/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
#include <dali-toolkit-test-suite-utils.h>
#include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
+#include <dali-toolkit/devel-api/controls/progress-bar/progress-bar-devel.h>
+#include <dali-toolkit/devel-api/visuals/arc-visual-properties-devel.h>
+#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali/devel-api/actors/actor-devel.h>
using namespace Dali;
using namespace Dali::Toolkit;
using Dali::Toolkit::ProgressBar;
-
void utc_dali_toolkit_progressbar_startup(void)
{
test_return_value = TET_UNDEF;
namespace
{
-
-static bool gObjectCreatedCallBackCalled;
+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)
{
gObjectCreatedCallBackCalled = true;
}
-}
+} // namespace
int UtcDaliProgressBarNew(void)
{
// Create the ProgressBar actor
ProgressBar progressBar;
- DALI_TEST_CHECK( !progressBar );
+ DALI_TEST_CHECK(!progressBar);
progressBar = ProgressBar::New();
- DALI_TEST_CHECK( progressBar );
+ DALI_TEST_CHECK(progressBar);
ProgressBar progressBar2(progressBar);
- DALI_TEST_CHECK( progressBar2 == progressBar );
+ DALI_TEST_CHECK(progressBar2 == progressBar);
ProgressBar progressBar3;
progressBar3 = progressBar2;
- DALI_TEST_CHECK( progressBar3 == progressBar2 );
+ DALI_TEST_CHECK(progressBar3 == progressBar2);
//Additional check to ensure object is created by checking if it's registered
- ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
- DALI_TEST_CHECK( registry );
+ ObjectRegistry registry = application.GetCore().GetObjectRegistry();
+ DALI_TEST_CHECK(registry);
gObjectCreatedCallBackCalled = false;
- registry.ObjectCreatedSignal().Connect( &TestCallback );
+ registry.ObjectCreatedSignal().Connect(&TestCallback);
{
ProgressBar progressBar = ProgressBar::New();
}
- DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
+ DALI_TEST_CHECK(gObjectCreatedCallBackCalled);
+ END_TEST;
+}
+
+int UtcDaliProgressBarNew2(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliProgressBarNew2");
+
+ ProgressBar progressBar1 = DevelProgressBar::New(DevelProgressBar::Style::LINEAR);
+ DALI_TEST_CHECK(progressBar1);
+
+ ProgressBar progressBar2 = DevelProgressBar::New(DevelProgressBar::Style::CIRCULAR);
+ DALI_TEST_CHECK(progressBar2);
+
+ DALI_TEST_CHECK(progressBar1.GetStyleName() != progressBar2.GetStyleName());
+
END_TEST;
}
ProgressBar* progressBar = new ProgressBar();
delete progressBar;
- DALI_TEST_CHECK( true );
+ DALI_TEST_CHECK(true);
+ END_TEST;
+}
+
+int UtcDaliProgressBarCopyConstructor(void)
+{
+ ToolkitTestApplication application;
+
+ ProgressBar progressBar = ProgressBar::New();
+ DALI_TEST_CHECK(progressBar);
+
+ ProgressBar copy(progressBar);
+ DALI_TEST_CHECK(copy);
+
+ END_TEST;
+}
+
+int UtcDaliProgressBarCopyAssignment(void)
+{
+ ToolkitTestApplication application;
+
+ ProgressBar progressBar = ProgressBar::New();
+ DALI_TEST_CHECK(progressBar);
+
+ ProgressBar copy;
+ copy = progressBar;
+ DALI_TEST_CHECK(copy);
+ DALI_TEST_EQUALS(progressBar, copy, TEST_LOCATION);
+
+ END_TEST;
+}
+
+int UtcDaliProgressBarMoveConstructor(void)
+{
+ ToolkitTestApplication application;
+
+ ProgressBar progressBar = ProgressBar::New();
+ DALI_TEST_EQUALS(1, progressBar.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ progressBar.SetProperty(Actor::Property::SENSITIVE, false);
+ DALI_TEST_CHECK(false == progressBar.GetProperty<bool>(Actor::Property::SENSITIVE));
+
+ ProgressBar moved = std::move(progressBar);
+ DALI_TEST_CHECK(moved);
+ DALI_TEST_EQUALS(1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ DALI_TEST_CHECK(false == moved.GetProperty<bool>(Actor::Property::SENSITIVE));
+ DALI_TEST_CHECK(!progressBar);
+
+ END_TEST;
+}
+
+int UtcDaliProgressBarMoveAssignment(void)
+{
+ ToolkitTestApplication application;
+
+ ProgressBar progressBar = ProgressBar::New();
+ DALI_TEST_EQUALS(1, progressBar.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ progressBar.SetProperty(Actor::Property::SENSITIVE, false);
+ DALI_TEST_CHECK(false == progressBar.GetProperty<bool>(Actor::Property::SENSITIVE));
+
+ ProgressBar moved;
+ moved = std::move(progressBar);
+ DALI_TEST_CHECK(moved);
+ DALI_TEST_EQUALS(1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ DALI_TEST_CHECK(false == moved.GetProperty<bool>(Actor::Property::SENSITIVE));
+ DALI_TEST_CHECK(!progressBar);
+
END_TEST;
}
Handle handle = ProgressBar::New();
- ProgressBar progressBar = ProgressBar::DownCast( handle );
+ ProgressBar progressBar = ProgressBar::DownCast(handle);
- DALI_TEST_CHECK( progressBar == handle );
+ DALI_TEST_CHECK(progressBar == handle);
END_TEST;
}
static bool gProgressBarValueChangedCallBackCalled = false;
-static void OnProgressBarValueChanged( ProgressBar progressBar, float value )
+static void OnProgressBarValueChanged(ProgressBar progressBar, float value, float secondaryValue)
{
gProgressBarValueChangedCallBackCalled = true;
}
int UtcDaliProgressBarSignals(void)
{
- ToolkitTestApplication application; // Exceptions require ToolkitTestApplication
+ ToolkitTestApplication application; // Exceptions require ToolkitTestApplication
tet_infoline(" UtcDaliProgressBarSignals");
// Create the ProgressBar actor
ProgressBar progressBar = ProgressBar::New();
- Stage::GetCurrent().Add( progressBar );
- progressBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
- progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
- progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
- progressBar.SetPosition( 0.0f, 0.0f );
+ application.GetScene().Add(progressBar);
+ progressBar.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::ANCHOR_POINT, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::SIZE, Vector2(application.GetScene().GetSize().x, 20.0f));
+ progressBar.SetProperty(Actor::Property::POSITION, Vector2(0.0f, 0.0f));
+ progressBar.ValueChangedSignal().Connect(&OnProgressBarValueChanged);
- 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;
int UtcDaliProgressBarSetPropertyP(void)
{
ToolkitTestApplication application;
- tet_infoline( "UtcDaliProgressBarSetPropertyP" );
+ tet_infoline("UtcDaliProgressBarSetPropertyP");
ProgressBar progressBar = ProgressBar::New();
- progressBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
- progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
- progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
- progressBar.SetPosition( 0.0f, 0.0f );
-
- Stage::GetCurrent().Add(progressBar);
+ progressBar.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::ANCHOR_POINT, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::SIZE, Vector2(application.GetScene().GetSize().x, 20.0f));
+ progressBar.SetProperty(Actor::Property::POSITION, Vector2(0.0f, 0.0f));
+ progressBar.ValueChangedSignal().Connect(&OnProgressBarValueChanged);
+ application.GetScene().Add(progressBar);
application.SendNotification();
application.Render();
- float val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.0f, 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;
+}
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.2f, TEST_LOCATION);
+int UtcDaliProgressBarSetPropertyP1(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline("UtcDaliProgressBarSetPropertyP1");
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.8f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.8f, TEST_LOCATION);
+ ProgressBar progressBar = ProgressBar::New();
+ progressBar.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::ANCHOR_POINT, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::SIZE, Vector2(application.GetScene().GetSize().x, 20.0f));
+ progressBar.SetProperty(Actor::Property::POSITION, Vector2(0.0f, 0.0f));
+ progressBar.ValueChangedSignal().Connect(&OnProgressBarValueChanged);
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.4f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.4f, TEST_LOCATION);
+ application.GetScene().Add(progressBar);
+ application.SendNotification();
+ application.Render();
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
+ float val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 1.0f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 1.0f, TEST_LOCATION);
-
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, -1.0f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 1.0f, TEST_LOCATION);
+ // test to download a file of 100k in chunks
+ float lowerBound = 0, upperBound = 100, progressValue = 0, secondaryProgressValue = 0, chunkValue = 0;
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.9f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
+ while(chunkValue <= upperBound)
+ {
+ progressValue = (chunkValue - lowerBound) / (upperBound - lowerBound);
+ progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, progressValue);
+ val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
+ DALI_TEST_EQUALS(val, progressValue, TEST_LOCATION);
+ chunkValue = chunkValue + 10;
+ }
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 1.1f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
+ // test to download a file of 1000k in chunks
+ lowerBound = 0, upperBound = 1000, progressValue = 0, chunkValue = 0;
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 2.0f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
+ while(chunkValue <= upperBound)
+ {
+ progressValue = (chunkValue - lowerBound) / (upperBound - lowerBound);
+ progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, progressValue);
+ val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
+ DALI_TEST_EQUALS(val, progressValue, TEST_LOCATION);
+ chunkValue = chunkValue + 100;
+ }
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.0f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
+ val = progressBar.GetProperty<float>(ProgressBar::Property::SECONDARY_PROGRESS_VALUE);
DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.9f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.9f, TEST_LOCATION);
+ // test to download a file of 100k in chunks
+ lowerBound = 0, upperBound = 100, secondaryProgressValue = 0, chunkValue = 0;
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.09f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.09f, TEST_LOCATION);
+ while(chunkValue <= upperBound)
+ {
+ secondaryProgressValue = (chunkValue - lowerBound) / (upperBound - lowerBound);
+ progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, secondaryProgressValue);
+ val = progressBar.GetProperty<float>(ProgressBar::Property::SECONDARY_PROGRESS_VALUE);
+ DALI_TEST_EQUALS(val, secondaryProgressValue, TEST_LOCATION);
+ chunkValue = chunkValue + 10;
+ }
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.1f);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.1f, TEST_LOCATION);
+ // test to download a file of 1000k in chunks
+ lowerBound = 0, upperBound = 1000, secondaryProgressValue = 0, chunkValue = 0;
+ while(chunkValue <= upperBound)
{
- 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);
+ secondaryProgressValue = (chunkValue - lowerBound) / (upperBound - lowerBound);
+ progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, secondaryProgressValue);
+ val = progressBar.GetProperty<float>(ProgressBar::Property::SECONDARY_PROGRESS_VALUE);
+ DALI_TEST_EQUALS(val, secondaryProgressValue, TEST_LOCATION);
+ chunkValue = chunkValue + 100;
+ }
- 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 );
+ END_TEST;
+}
+
+int UtcDaliProgressBarSetPropertyP2(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline("UtcDaliProgressBarSetPropertyP2");
+
+ ProgressBar progressBar = ProgressBar::New();
+ progressBar.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::ANCHOR_POINT, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::POSITION, Vector2(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.SetProperty(Actor::Property::SIZE, Vector2(application.GetScene().GetSize().x, 20.0f));
+ application.GetScene().Add(progressBar);
+ application.SendNotification();
+ application.Render();
- 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 );
+ // Test get/set INDETERMINATE
+ bool val = progressBar.GetProperty<bool>(ProgressBar::Property::INDETERMINATE);
+ DALI_TEST_EQUALS(val, true, TEST_LOCATION);
- }
+ progressBar.SetProperty(ProgressBar::Property::INDETERMINATE, false);
+ val = progressBar.GetProperty<bool>(ProgressBar::Property::INDETERMINATE);
+ DALI_TEST_EQUALS(val, false, TEST_LOCATION);
END_TEST;
}
-int UtcDaliProgressBarSetPropertyP1(void)
+int UtcDaliProgressBarSetPropertyP3(void)
{
ToolkitTestApplication application;
- tet_infoline( "UtcDaliProgressBarSetPropertyP1" );
+ tet_infoline("UtcDaliProgressBarSetPropertyP3");
ProgressBar progressBar = ProgressBar::New();
- progressBar.SetParentOrigin(ParentOrigin::TOP_LEFT);
- progressBar.SetAnchorPoint(ParentOrigin::TOP_LEFT);
- progressBar.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
- progressBar.SetPosition( 0.0f, 0.0f );
-
- Stage::GetCurrent().Add(progressBar);
+ progressBar.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::ANCHOR_POINT, ParentOrigin::TOP_LEFT);
+ progressBar.SetProperty(Actor::Property::SIZE, Vector2(application.GetScene().GetSize().x, application.GetScene().GetSize().y));
+ application.GetScene().Add(progressBar);
application.SendNotification();
application.Render();
- float val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, 0.0f, TEST_LOCATION);
+ {
+ // Set arc visual to the SECONDARY_PROGRESS_VISUAL
+ const float expected = 180.0f;
- // test to download a file of 100k in chunks
- float lowerBound = 0, upperBound = 100, progressValue = 0, chunkValue = 0;
+ Property::Map map;
+ map["visualType"] = "ARC";
+ map["thickness"] = 4.0f;
+ map["mixColor"] = Color::BLUE;
+ map["sweepAngle"] = 60;
+ progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL, map);
+ progressBar.SetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VALUE, 0.5f); // This should change visual's sweep angle.
+
+ Property::Value value = progressBar.GetProperty(ProgressBar::Property::SECONDARY_PROGRESS_VISUAL);
+ Property::Map* resultMap = value.GetMap();
+ DALI_TEST_CHECK(resultMap);
+
+ Property::Value* sweepAngle = resultMap->Find(DevelArcVisual::Property::SWEEP_ANGLE);
+ float result = 0.0f;
+ sweepAngle->Get(result);
+ DALI_TEST_EQUALS(result, expected, TEST_LOCATION);
+ }
- while( chunkValue <= upperBound )
{
- progressValue = (chunkValue - lowerBound ) / ( upperBound - lowerBound );
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, progressValue);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, progressValue, TEST_LOCATION);
- chunkValue = chunkValue + 10;
+ // Set arc visual to the PROGRESS_VISUAL
+ const float expected = 90.0f;
+
+ Property::Map map;
+ map["visualType"] = "ARC";
+ map["thickness"] = 4.0f;
+ map["mixColor"] = Color::RED;
+ map["sweepAngle"] = 60;
+ progressBar.SetProperty(ProgressBar::Property::PROGRESS_VISUAL, map);
+ progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.25f); // This should change visual's sweep angle.
+
+ Property::Value value = progressBar.GetProperty(ProgressBar::Property::PROGRESS_VISUAL);
+ Property::Map* resultMap = value.GetMap();
+ DALI_TEST_CHECK(resultMap);
+
+ Property::Value* sweepAngle = resultMap->Find(DevelArcVisual::Property::SWEEP_ANGLE);
+ float result = 0.0f;
+ sweepAngle->Get(result);
+ DALI_TEST_EQUALS(result, expected, TEST_LOCATION);
}
- // test to download a file of 1000k in chunks
- lowerBound = 0, upperBound = 1000, progressValue = 0, chunkValue = 0;
+ {
+ // Set arc visual to the INDETERMINATE_VISUAL
+ const Vector4 expected = Color::GREEN;
+
+ Property::Map map;
+ map["visualType"] = "ARC";
+ map["thickness"] = 4.0f;
+ map["mixColor"] = expected;
+ progressBar.SetProperty(ProgressBar::Property::INDETERMINATE_VISUAL, map);
+
+ Property::Value value = progressBar.GetProperty(ProgressBar::Property::INDETERMINATE_VISUAL);
+ Property::Map* resultMap = value.GetMap();
+ DALI_TEST_CHECK(resultMap);
+
+ Property::Value* mixColor = resultMap->Find(Visual::Property::MIX_COLOR);
+ Vector4 result;
+ mixColor->Get(result);
+ DALI_TEST_EQUALS(result, expected, TEST_LOCATION);
+ }
- while( chunkValue <= upperBound )
{
- progressValue = (chunkValue - lowerBound ) / ( upperBound - lowerBound );
- progressBar.SetProperty(ProgressBar::Property::PROGRESS_VALUE, progressValue);
- val = progressBar.GetProperty<float>(ProgressBar::Property::PROGRESS_VALUE);
- DALI_TEST_EQUALS(val, progressValue, TEST_LOCATION);
- chunkValue = chunkValue + 100;
+ // Set arc visual to the TRACK_VISUAL
+ const Vector4 expected = Color::YELLOW;
+
+ Property::Map map;
+ map["visualType"] = "ARC";
+ map["thickness"] = 0.4f;
+ map["mixColor"] = expected;
+ progressBar.SetProperty(ProgressBar::Property::TRACK_VISUAL, map);
+ progressBar.SetProperty(ProgressBar::Property::INDETERMINATE, true); // This should not change track visual's properties.
+
+ Property::Value value = progressBar.GetProperty(ProgressBar::Property::TRACK_VISUAL);
+ Property::Map* resultMap = value.GetMap();
+ DALI_TEST_CHECK(resultMap);
+
+ Property::Value* mixColor = resultMap->Find(Visual::Property::MIX_COLOR);
+ Vector4 result;
+ mixColor->Get(result);
+ DALI_TEST_EQUALS(result, expected, TEST_LOCATION);
}
END_TEST;
}
-