/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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/visuals/text-visual-properties.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-toolkit/public-api/visuals/image-visual-properties.h>
+#include <dali/devel-api/actors/actor-devel.h>
using namespace Dali;
using namespace Dali::Toolkit;
DALI_TEST_CHECK( progressBar3 == progressBar2 );
//Additional check to ensure object is created by checking if it's registered
- ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry();
+ ObjectRegistry registry = application.GetCore().GetObjectRegistry();
DALI_TEST_CHECK( registry );
gObjectCreatedCallBackCalled = false;
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;
+}
+
int UtcDaliProgressBarDestructor(void)
{
ToolkitTestApplication application;
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;
+}
+
int UtcDaliProgressBarDownCast(void)
{
ToolkitTestApplication application;
// 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.SetProperty(ProgressBar::Property::PROGRESS_VALUE, 0.2f);
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 );
+ 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 );
- Stage::GetCurrent().Add(progressBar);
+ application.GetScene().Add(progressBar);
application.SendNotification();
application.Render();
DALI_TEST_EQUALS( textString, std::string( "test1" ), TEST_LOCATION );
Property::Map textVisualMap2;
- textVisualMap2.Insert( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT );
+ 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);
tet_infoline( "UtcDaliProgressBarSetPropertyP1" );
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 );
+ 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 );
- Stage::GetCurrent().Add(progressBar);
+ application.GetScene().Add(progressBar);
application.SendNotification();
application.Render();
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( 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::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);
+ progressBar.SetProperty( Actor::Property::SIZE, Vector2( application.GetScene().GetSize().x, 20.0f ) );
+ application.GetScene().Add(progressBar);
application.SendNotification();
application.Render();
END_TEST;
}
+
+int UtcDaliProgressBarSetPropertyP3(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline( "UtcDaliProgressBarSetPropertyP3" );
+
+ 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, application.GetScene().GetSize().y ) );
+ application.GetScene().Add( progressBar );
+ application.SendNotification();
+ application.Render();
+
+ {
+ // Set arc visual to the SECONDARY_PROGRESS_VISUAL
+ const float expected = 180.0f;
+
+ 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 );
+ }
+
+ {
+ // 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 );
+ }
+
+ {
+ // 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 );
+ }
+
+ {
+ // 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;
+}