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-TableView.cpp;h=1a540a2303080e919ac98549d1de1527250b89a2;hp=14d183bea14e76c2b851293cc0fa48fea53003ac;hb=HEAD;hpb=ebdb9f3433e77a3e4ad7ab9f6fec5a5da108314a diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp index 14d183b..5ec6b5f 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TableView.cpp @@ -15,11 +15,12 @@ * */ -#include -#include -#include #include #include +#include +#include +#include +#include using namespace Dali; using namespace Toolkit; @@ -36,13 +37,12 @@ void dali_tableview_cleanup(void) namespace { - -const char* const PROPERTY_NAME_ROWS = "rows"; -const char* const PROPERTY_NAME_COLUMNS = "columns"; -const char* const PROPERTY_NAME_CELL_PADDING = "cell-padding"; -const char* const PROPERTY_NAME_LAYOUT_ROWS = "layout-rows"; -const char* const PROPERTY_NAME_LAYOUT_COLUMNS = "layout-columns"; -const Vector2 CELL_SIZE( 10, 10 ); +const char* const PROPERTY_NAME_ROWS = "rows"; +const char* const PROPERTY_NAME_COLUMNS = "columns"; +const char* const PROPERTY_NAME_CELL_PADDING = "cellPadding"; +const char* const PROPERTY_NAME_LAYOUT_ROWS = "layoutRows"; +const char* const PROPERTY_NAME_LAYOUT_COLUMNS = "layoutColumns"; +const Vector2 CELL_SIZE(10, 10); static bool gObjectCreatedCallBackCalled; @@ -53,51 +53,51 @@ static void TestCallback(BaseHandle handle) struct Constraint100 { - Constraint100( ) + Constraint100() { } /** * function operator to apply the parent size */ - void operator()( Dali::Vector3& current, const PropertyInputContainer& /* inputs */ ) + void operator()(Dali::Vector3& current, const PropertyInputContainer& /* inputs */) { current.x = current.y = current.z = 100.0f; } }; // Convenience function to quickly set up a 10x10 table with each cell being 10x10 pixels in size by default. -static void SetupTableViewAndActors(TableView& tableView, Actor& actor1, Actor& actor2, Actor& actor3) +static void SetupTableViewAndActors(Integration::Scene scene, TableView& tableView, Actor& actor1, Actor& actor2, Actor& actor3) { - tableView = TableView::New( 10, 10 ); // 10 by 10 grid. - DALI_TEST_CHECK( tableView ); + tableView = TableView::New(10, 10); // 10 by 10 grid. + DALI_TEST_CHECK(tableView); - Stage::GetCurrent().Add( tableView ); - tableView.SetSize( Dali::Vector2( 100.0f, 100.0f ) ); + scene.Add(tableView); + tableView.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); actor1 = Actor::New(); actor2 = Actor::New(); actor3 = Actor::New(); - actor1.SetSize( CELL_SIZE ); - actor2.SetSize( CELL_SIZE ); - actor3.SetSize( CELL_SIZE ); + actor1.SetProperty(Actor::Property::SIZE, CELL_SIZE); + actor2.SetProperty(Actor::Property::SIZE, CELL_SIZE); + actor3.SetProperty(Actor::Property::SIZE, CELL_SIZE); - tableView.AddChild( actor1, TableView::CellPosition( 0, 0 ) ); - tableView.AddChild( actor2, TableView::CellPosition( 0, 1 ) ); - tableView.AddChild( actor3, TableView::CellPosition( 1, 0 ) ); + tableView.AddChild(actor1, TableView::CellPosition(0, 0)); + tableView.AddChild(actor2, TableView::CellPosition(0, 1)); + tableView.AddChild(actor3, TableView::CellPosition(1, 0)); } } // namespace int UtcDaliTableViewCtorCopyP(void) { - TestApplication application; + ToolkitTestApplication application; - TableView actor1 = TableView::New(10,10); - TableView actor2( actor1 ); + TableView actor1 = TableView::New(10, 10); + TableView actor2(actor1); - DALI_TEST_EQUALS( actor1, actor2, TEST_LOCATION ); + DALI_TEST_EQUALS(actor1, actor2, TEST_LOCATION); END_TEST; } @@ -105,19 +105,19 @@ int UtcDaliTableViewNew(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); + TableView tableView = TableView::New(10, 10); DALI_TEST_CHECK(tableView); //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); { - TableView tableView = TableView::New(10,10); + TableView tableView = TableView::New(10, 10); } - DALI_TEST_CHECK( gObjectCreatedCallBackCalled ); + DALI_TEST_CHECK(gObjectCreatedCallBackCalled); END_TEST; } @@ -129,29 +129,29 @@ int UtcDaliTableViewMetricsPadding(void) tet_infoline("UtcDaliTableViewMetricsPadding"); TableView tableView; - Actor actor1; - Actor actor2; - Actor actor3; + Actor actor1; + Actor actor2; + Actor actor3; - SetupTableViewAndActors(tableView, actor1, actor2, actor3); + SetupTableViewAndActors(application.GetScene(), tableView, actor1, actor2, actor3); // 1. check that padding works. no padding: tableView.SetCellPadding(Size(0.0f, 0.0f)); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetCellPadding(), Size(0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION); // 1. check that padding works. some padding: tableView.SetCellPadding(Size(5.0f, 10.0f)); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(5.0f, 10.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(5.0f, 10.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetCellPadding(), Size(5.0f, 10.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(5.0f, 10.0f, 0.0f), TEST_LOCATION); END_TEST; } @@ -163,31 +163,48 @@ int UtcDaliTableViewMetricsFit(void) tet_infoline("UtcDaliTableViewMetricsFit"); TableView tableView; - Actor actor1; - Actor actor2; - Actor actor3; + Actor actor1; + Actor actor2; + Actor actor3; - SetupTableViewAndActors(tableView, actor1, actor2, actor3); + SetupTableViewAndActors(application.GetScene(), tableView, actor1, actor2, actor3); application.SendNotification(); application.Render(); // 1. check that with no fixed width/heights, actors are in default position. - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION); // 2. check that with a fixed width & height, actors to the right and below are offsetted. tableView.SetFitHeight(0); tableView.SetFitWidth(0); - DALI_TEST_EQUALS( tableView.IsFitHeight(0), true, TEST_LOCATION ); - DALI_TEST_EQUALS( tableView.IsFitWidth(0), true, TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.IsFitHeight(0), true, TEST_LOCATION); + DALI_TEST_EQUALS(tableView.IsFitWidth(0), true, TEST_LOCATION); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION); + + tableView.SetProperty(Dali::Actor::Property::LAYOUT_DIRECTION, Dali::LayoutDirection::RIGHT_TO_LEFT); + application.SendNotification(); + application.Render(); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(90.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(80.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(90.0f, 10.0f, 0.0f), TEST_LOCATION); + + tableView.SetProperty(Dali::Actor::Property::LAYOUT_DIRECTION, Dali::LayoutDirection::LEFT_TO_RIGHT); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION); + END_TEST; } @@ -199,31 +216,31 @@ int UtcDaliTableViewMetricsFixed(void) tet_infoline("UtcDaliTableViewMetricsFixed"); TableView tableView; - Actor actor1; - Actor actor2; - Actor actor3; + Actor actor1; + Actor actor2; + Actor actor3; - SetupTableViewAndActors(tableView, actor1, actor2, actor3); + SetupTableViewAndActors(application.GetScene(), tableView, actor1, actor2, actor3); application.SendNotification(); application.Render(); // 1. check that with no fixed width/heights, actors are in default position. - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION); // 2. check that with a fixed width & height, actors to the right and below are offsetted. tableView.SetFixedWidth(0, 20.0f); tableView.SetFixedHeight(0, 50.0f); - DALI_TEST_EQUALS( tableView.GetFixedWidth(0), 20.0f, TEST_LOCATION ); - DALI_TEST_EQUALS( tableView.GetFixedHeight(0), 50.0f, TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetFixedWidth(0), 20.0f, TEST_LOCATION); + DALI_TEST_EQUALS(tableView.GetFixedHeight(0), 50.0f, TEST_LOCATION); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(20.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 50.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(20.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 50.0f, 0.0f), TEST_LOCATION); END_TEST; } @@ -235,35 +252,34 @@ int UtcDaliTableViewMetricsRelative(void) tet_infoline("UtcDaliTableViewMetricsRelative"); TableView tableView; - Actor actor1; - Actor actor2; - Actor actor3; + Actor actor1; + Actor actor2; + Actor actor3; - SetupTableViewAndActors(tableView, actor1, actor2, actor3); + SetupTableViewAndActors(application.GetScene(), tableView, actor1, actor2, actor3); application.SendNotification(); application.Render(); // 1. check that with no relative width/heights, actors are in default position. - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(10.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 10.0f, 0.0f), TEST_LOCATION); // 2. check that with a relative width & height, actors to the right and below are offsetted. tableView.SetRelativeWidth(0, 0.3f); // cell 0,0 occupies 30%x50% of the grid (i.e. 30x50 pixels) tableView.SetRelativeHeight(0, 0.5f); - DALI_TEST_EQUALS( tableView.GetRelativeWidth(0), 0.3f, TEST_LOCATION ); - DALI_TEST_EQUALS( tableView.GetRelativeHeight(0), 0.5f, TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetRelativeWidth(0), 0.3f, TEST_LOCATION); + DALI_TEST_EQUALS(tableView.GetRelativeHeight(0), 0.5f, TEST_LOCATION); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( actor1.GetCurrentPosition(), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor2.GetCurrentPosition(), Vector3(30.0f, 0.0f, 0.0f), TEST_LOCATION ); - DALI_TEST_EQUALS( actor3.GetCurrentPosition(), Vector3(0.0f, 50.0f, 0.0f), TEST_LOCATION ); + DALI_TEST_EQUALS(actor1.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor2.GetCurrentProperty(Actor::Property::POSITION), Vector3(30.0f, 0.0f, 0.0f), TEST_LOCATION); + DALI_TEST_EQUALS(actor3.GetCurrentProperty(Actor::Property::POSITION), Vector3(0.0f, 50.0f, 0.0f), TEST_LOCATION); END_TEST; } - // Test Adding/Removing/Finding Children. int UtcDaliTableViewChild(void) { @@ -272,51 +288,51 @@ int UtcDaliTableViewChild(void) tet_infoline("UtcDaliTableViewChild"); // Create a 10x10 table-view - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView); // Check if actor doesn't exist. - DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(0,0)) ); + DALI_TEST_CHECK(!tableView.GetChildAt(TableView::CellPosition(0, 0))); // Add an actor to it at 0,0 Actor actor = Actor::New(); tableView.AddChild(actor, TableView::CellPosition()); // Check if exists. - DALI_TEST_CHECK( tableView.GetChildAt(TableView::CellPosition(0,0)) ); + DALI_TEST_CHECK(tableView.GetChildAt(TableView::CellPosition(0, 0))); // Remove this actor tableView.RemoveChildAt(TableView::CellPosition()); // Check if actor no longer exists. - DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(0,0)) ); + DALI_TEST_CHECK(!tableView.GetChildAt(TableView::CellPosition(0, 0))); // Add actor to it again, but at 2,5 - tableView.AddChild(actor, TableView::CellPosition(2,5)); + tableView.AddChild(actor, TableView::CellPosition(2, 5)); // Add another actor somewhere else 7,8 Actor actor2 = Actor::New(); - tableView.AddChild(actor2, TableView::CellPosition(7,8)); + tableView.AddChild(actor2, TableView::CellPosition(7, 8)); Actor searchActor; // Check that no actor exists in a few random places. - DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(0,0)) ); - DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(2,1)) ); - DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(6,3)) ); - DALI_TEST_CHECK( !tableView.GetChildAt(TableView::CellPosition(9,5)) ); + DALI_TEST_CHECK(!tableView.GetChildAt(TableView::CellPosition(0, 0))); + DALI_TEST_CHECK(!tableView.GetChildAt(TableView::CellPosition(2, 1))); + DALI_TEST_CHECK(!tableView.GetChildAt(TableView::CellPosition(6, 3))); + DALI_TEST_CHECK(!tableView.GetChildAt(TableView::CellPosition(9, 5))); // Check for actors at actual positions. - searchActor = tableView.GetChildAt(TableView::CellPosition(2,5)); - DALI_TEST_CHECK( searchActor == actor); + searchActor = tableView.GetChildAt(TableView::CellPosition(2, 5)); + DALI_TEST_CHECK(searchActor == actor); - searchActor = tableView.GetChildAt(TableView::CellPosition(7,8)); - DALI_TEST_CHECK( searchActor == actor2); + searchActor = tableView.GetChildAt(TableView::CellPosition(7, 8)); + DALI_TEST_CHECK(searchActor == actor2); // Create a second table, and add already added Child to new one. - TableView tableView2 = TableView::New(5,5); - tableView2.AddChild(actor, TableView::CellPosition(2,2)); - DALI_TEST_CHECK( tableView2.GetChildAt(TableView::CellPosition(2,2)) ); + TableView tableView2 = TableView::New(5, 5); + tableView2.AddChild(actor, TableView::CellPosition(2, 2)); + DALI_TEST_CHECK(tableView2.GetChildAt(TableView::CellPosition(2, 2))); END_TEST; } @@ -328,14 +344,14 @@ int UtcDaliTableViewAdd(void) tet_infoline("UtcDaliTableViewAdd"); // Create a 4x1 table-view, and just keep adding. - TableView tableView = TableView::New(1,4); - DALI_TEST_CHECK( tableView ); + TableView tableView = TableView::New(1, 4); + DALI_TEST_CHECK(tableView); - for(unsigned int i = 0;i<16;i++) + for(unsigned int i = 0; i < 16; i++) { - Actor currentActor = Actor::New(); - TableView::CellPosition position = TableView::CellPosition(); - tableView.Add( currentActor ); + Actor currentActor = Actor::New(); + TableView::CellPosition position = TableView::CellPosition(); + tableView.Add(currentActor); tableView.FindChildPosition(currentActor, position); tet_printf("%dx%d (%d,%d)\n", tableView.GetColumns(), tableView.GetRows(), position.columnIndex, position.rowIndex); @@ -351,99 +367,99 @@ int UtcDaliTableViewCells(void) tet_infoline("UtcDaliTableViewCells"); // Create a 10x10 table-view - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView); // Add a few actors to the table. Actor actor1 = Actor::New(); Actor actor2 = Actor::New(); Actor actor3 = Actor::New(); - actor1.SetName("Actor1"); - actor2.SetName("Actor2"); - actor3.SetName("Actor3"); + actor1.SetProperty(Dali::Actor::Property::NAME, "Actor1"); + actor2.SetProperty(Dali::Actor::Property::NAME, "Actor2"); + actor3.SetProperty(Dali::Actor::Property::NAME, "Actor3"); // note: positions are specified in reversed cartesian coords - row,col (i.e. y,x) - tableView.AddChild(actor1, TableView::CellPosition(0,0)); - tableView.AddChild(actor2, TableView::CellPosition(5,5)); - tableView.AddChild(actor3, TableView::CellPosition(7,2)); + tableView.AddChild(actor1, TableView::CellPosition(0, 0)); + tableView.AddChild(actor2, TableView::CellPosition(5, 5)); + tableView.AddChild(actor3, TableView::CellPosition(7, 2)); - DALI_TEST_CHECK( tableView.GetRows() == 10 && tableView.GetColumns() == 10 ); + DALI_TEST_CHECK(tableView.GetRows() == 10 && tableView.GetColumns() == 10); // Add a row between actor1 and actor2 | insert column on actor1 and see what happens... tableView.InsertRow(3); tableView.InsertColumn(0); - DALI_TEST_CHECK( tableView.GetRows() == 11 && tableView.GetColumns() == 11 ); + DALI_TEST_CHECK(tableView.GetRows() == 11 && tableView.GetColumns() == 11); TableView::CellPosition cellPosition; - bool result; + bool result; result = tableView.FindChildPosition(actor1, cellPosition); - DALI_TEST_CHECK( result && cellPosition.rowIndex == 0 && cellPosition.columnIndex == 1); + DALI_TEST_CHECK(result && cellPosition.rowIndex == 0 && cellPosition.columnIndex == 1); result = tableView.FindChildPosition(actor2, cellPosition); - DALI_TEST_CHECK( result && cellPosition.rowIndex == 6 && cellPosition.columnIndex == 6); + DALI_TEST_CHECK(result && cellPosition.rowIndex == 6 && cellPosition.columnIndex == 6); result = tableView.FindChildPosition(actor3, cellPosition); - DALI_TEST_CHECK( result && cellPosition.rowIndex == 8 && cellPosition.columnIndex == 3); + DALI_TEST_CHECK(result && cellPosition.rowIndex == 8 && cellPosition.columnIndex == 3); // Delete a row between actor2 and actor3 | delete column on actor2 and see what happens... tableView.DeleteRow(7); tableView.DeleteColumn(6); - DALI_TEST_CHECK( tableView.GetRows() == 10 && tableView.GetColumns() == 10 ); + DALI_TEST_CHECK(tableView.GetRows() == 10 && tableView.GetColumns() == 10); result = tableView.FindChildPosition(actor1, cellPosition); - DALI_TEST_CHECK( result && cellPosition.rowIndex == 0 && cellPosition.columnIndex == 1); + DALI_TEST_CHECK(result && cellPosition.rowIndex == 0 && cellPosition.columnIndex == 1); result = tableView.FindChildPosition(actor2, cellPosition); - DALI_TEST_CHECK( !result ); + DALI_TEST_CHECK(!result); result = tableView.FindChildPosition(actor3, cellPosition); - DALI_TEST_CHECK( result && cellPosition.rowIndex == 7 && cellPosition.columnIndex == 3); + DALI_TEST_CHECK(result && cellPosition.rowIndex == 7 && cellPosition.columnIndex == 3); // Delete the other two remaining actors by a row delete and a column delete. std::vector actorsRemoved; tableView.DeleteRow(0, actorsRemoved); tet_printf("Row Delete >> Actors Removed: %d {", actorsRemoved.size()); - for(size_t i = 0;i %s, ", i, actorsRemoved[i].GetName().c_str()); + for(size_t i = 0; i < actorsRemoved.size(); i++) tet_printf("%d => %s, ", i, actorsRemoved[i].GetProperty(Dali::Actor::Property::NAME).c_str()); tet_printf("}\n"); - DALI_TEST_EQUALS( static_cast(actorsRemoved.size()), 1, TEST_LOCATION ); - DALI_TEST_CHECK( actorsRemoved[0] == actor1 ); + DALI_TEST_EQUALS(static_cast(actorsRemoved.size()), 1, TEST_LOCATION); + DALI_TEST_CHECK(actorsRemoved[0] == actor1); actorsRemoved.clear(); tableView.DeleteColumn(3, actorsRemoved); tet_printf("Column Delete >> Actors Removed: %d {", actorsRemoved.size()); - for(size_t i = 0;i %s, ", i, actorsRemoved[i].GetName().c_str()); + for(size_t i = 0; i < actorsRemoved.size(); i++) tet_printf("%d => %s, ", i, actorsRemoved[i].GetProperty(Dali::Actor::Property::NAME).c_str()); tet_printf("}\n"); - DALI_TEST_EQUALS( static_cast(actorsRemoved.size()), 1, TEST_LOCATION ); - DALI_TEST_CHECK( actorsRemoved[0] == actor3 ); + DALI_TEST_EQUALS(static_cast(actorsRemoved.size()), 1, TEST_LOCATION); + DALI_TEST_CHECK(actorsRemoved[0] == actor3); - DALI_TEST_CHECK( tableView.GetRows() == 9 && tableView.GetColumns() == 9 ); + DALI_TEST_CHECK(tableView.GetRows() == 9 && tableView.GetColumns() == 9); - tableView.AddChild(actor1, TableView::CellPosition(5,8)); - tableView.Resize(100,100); - DALI_TEST_CHECK( tableView.GetRows() == 100 && tableView.GetColumns() == 100 ); + tableView.AddChild(actor1, TableView::CellPosition(5, 8)); + tableView.Resize(100, 100); + DALI_TEST_CHECK(tableView.GetRows() == 100 && tableView.GetColumns() == 100); - tableView.AddChild(actor2, TableView::CellPosition(69,57)); - DALI_TEST_CHECK( tableView.FindChildPosition(actor1, cellPosition) && tableView.FindChildPosition(actor2, cellPosition) ); + tableView.AddChild(actor2, TableView::CellPosition(69, 57)); + DALI_TEST_CHECK(tableView.FindChildPosition(actor1, cellPosition) && tableView.FindChildPosition(actor2, cellPosition)); - tableView.Resize(20,20); - DALI_TEST_CHECK( tableView.FindChildPosition(actor1, cellPosition) && !tableView.FindChildPosition(actor2, cellPosition) ); + tableView.Resize(20, 20); + DALI_TEST_CHECK(tableView.FindChildPosition(actor1, cellPosition) && !tableView.FindChildPosition(actor2, cellPosition)); actorsRemoved.clear(); - tableView.Resize(1,1, actorsRemoved); - DALI_TEST_CHECK( !tableView.FindChildPosition(actor1, cellPosition) && !tableView.FindChildPosition(actor2, cellPosition) ); - DALI_TEST_EQUALS( static_cast(actorsRemoved.size()), 1, TEST_LOCATION ); - DALI_TEST_CHECK( actorsRemoved[0] == actor1 ); + tableView.Resize(1, 1, actorsRemoved); + DALI_TEST_CHECK(!tableView.FindChildPosition(actor1, cellPosition) && !tableView.FindChildPosition(actor2, cellPosition)); + DALI_TEST_EQUALS(static_cast(actorsRemoved.size()), 1, TEST_LOCATION); + DALI_TEST_CHECK(actorsRemoved[0] == actor1); // Add child outside table size, forcing a resize. tableView.AddChild(actor1, TableView::CellPosition(100, 100, 1, 1)); - DALI_TEST_CHECK( tableView.GetRows() == 101 && tableView.GetColumns() == 101 ); + DALI_TEST_CHECK(tableView.GetRows() == 101 && tableView.GetColumns() == 101); // Add child outside table size, forcing a resize. tableView.AddChild(actor1, TableView::CellPosition(110, 110, 5, 5)); - DALI_TEST_CHECK( tableView.GetRows() == 115 && tableView.GetColumns() == 115 ); + DALI_TEST_CHECK(tableView.GetRows() == 115 && tableView.GetColumns() == 115); // Set the alignment of the cell - tableView.SetCellAlignment( TableView::CellPosition(100, 100, 1, 1), HorizontalAlignment::CENTER, VerticalAlignment::CENTER ); - tableView.SetCellAlignment( TableView::CellPosition(110, 110, 5, 5), HorizontalAlignment::LEFT, VerticalAlignment::TOP ); + tableView.SetCellAlignment(TableView::CellPosition(100, 100, 1, 1), HorizontalAlignment::CENTER, VerticalAlignment::CENTER); + tableView.SetCellAlignment(TableView::CellPosition(110, 110, 5, 5), HorizontalAlignment::LEFT, VerticalAlignment::TOP); - DALI_TEST_CHECK( true ); + DALI_TEST_CHECK(true); END_TEST; } @@ -453,19 +469,19 @@ int UtcDaliTableViewChildAssert(void) tet_infoline("UtcDaliTableViewChildAssert"); // Create a 10x10 table-view - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView); Actor childActor; try { - tableView.AddChild( childActor, TableView::CellPosition(0,0,5,5) ); + tableView.AddChild(childActor, TableView::CellPosition(0, 0, 5, 5)); // should assert tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "child", TEST_LOCATION); } END_TEST; @@ -477,56 +493,56 @@ int UtcDaliTableViewMetricsAssert(void) tet_infoline("UtcDaliTableViewChildAssert"); // Create a 10x10 table-view - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView); // fixeds... try { - tableView.SetFixedHeight( 10, 1.0f ); + tableView.SetFixedHeight(10, 1.0f); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try { - tableView.GetFixedHeight( 10 ); + tableView.GetFixedHeight(10); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try { - tableView.SetFixedWidth( 10, 1.0f ); + tableView.SetFixedWidth(10, 1.0f); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } try { - tableView.GetFixedWidth( 10 ); + tableView.GetFixedWidth(10); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } @@ -534,49 +550,49 @@ int UtcDaliTableViewMetricsAssert(void) try { - tableView.SetRelativeHeight( 10, 0.1f ); + tableView.SetRelativeHeight(10, 0.1f); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try { - tableView.GetRelativeHeight( 10 ); + tableView.GetRelativeHeight(10); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "rowIndex < mRowData.Size()", TEST_LOCATION); } try { - tableView.SetRelativeWidth( 10, 0.1f ); + tableView.SetRelativeWidth(10, 0.1f); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } try { - tableView.GetRelativeWidth( 10 ); + tableView.GetRelativeWidth(10); tet_result(TET_FAIL); } - catch( Dali::DaliException& e ) + catch(Dali::DaliException& e) { - DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_PRINT_ASSERT(e); DALI_TEST_EQUALS(e.condition, "columnIndex < mColumnData.Size()", TEST_LOCATION); } END_TEST; @@ -588,155 +604,187 @@ int UtcDaliTableViewSetGetProperty(void) tet_infoline("UtcDaliTableViewSetGetProperty"); // Create a 1x1 table-view - TableView tableView = TableView::New(1,1); - tableView.SetSize( Vector2( 100.0f, 100.0f ) ); - DALI_TEST_CHECK( tableView ); + TableView tableView = TableView::New(1, 1); + tableView.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); + DALI_TEST_CHECK(tableView); // Test "rows" property - DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_ROWS ) == TableView::Property::ROWS ); + DALI_TEST_CHECK(tableView.GetPropertyIndex(PROPERTY_NAME_ROWS) == TableView::Property::ROWS); - tableView.SetProperty( TableView::Property::ROWS, 4 ); + tableView.SetProperty(TableView::Property::ROWS, 7); - DALI_TEST_CHECK( tableView.GetRows() == 4u ); - DALI_TEST_CHECK( tableView.GetProperty(TableView::Property::ROWS).Get() == 4 ); + DALI_TEST_CHECK(tableView.GetRows() == 7u); + DALI_TEST_CHECK(tableView.GetProperty(TableView::Property::ROWS).Get() == 7); // Test "columns" property - DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_COLUMNS ) == TableView::Property::COLUMNS ); + DALI_TEST_CHECK(tableView.GetPropertyIndex(PROPERTY_NAME_COLUMNS) == TableView::Property::COLUMNS); - tableView.SetProperty( TableView::Property::COLUMNS, 5 ); + tableView.SetProperty(TableView::Property::COLUMNS, 8); - DALI_TEST_CHECK( tableView.GetColumns() == 5u ); - DALI_TEST_CHECK( tableView.GetProperty(TableView::Property::COLUMNS).Get() == 5 ); + DALI_TEST_CHECK(tableView.GetColumns() == 8u); + DALI_TEST_CHECK(tableView.GetProperty(TableView::Property::COLUMNS).Get() == 8); - // Test "cell-padding" property - DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_CELL_PADDING ) == TableView::Property::CELL_PADDING ); + // Test "cellPadding" property + DALI_TEST_CHECK(tableView.GetPropertyIndex(PROPERTY_NAME_CELL_PADDING) == TableView::Property::CELL_PADDING); - tableView.SetProperty( TableView::Property::CELL_PADDING, Size( 6.f, 8.f ) ); + tableView.SetProperty(TableView::Property::CELL_PADDING, Size(6.f, 8.f)); - DALI_TEST_EQUALS( tableView.GetCellPadding(), Size(6.f, 8.f), TEST_LOCATION ); - DALI_TEST_EQUALS( tableView.GetProperty(TableView::Property::CELL_PADDING).Get(), Vector2(6.f,8.f), TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetCellPadding(), Size(6.f, 8.f), TEST_LOCATION); + DALI_TEST_EQUALS(tableView.GetProperty(TableView::Property::CELL_PADDING).Get(), Vector2(6.f, 8.f), TEST_LOCATION); //{ "policy": "fixed", "value": 30.0 }, Property::Map item1; - item1[ "policy" ] = "fixed"; - item1[ "value" ] = 30.f; + item1["policy"] = "fixed"; + item1["value"] = 30.f; //{ "policy": "relative", "value": 0.2 }, Property::Map item2; - item2[ "policy" ] = "relative"; - item2[ "value" ] = 0.2f; - - // Test "layout-rows" property - DALI_TEST_CHECK( tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ROWS) == TableView::Property::LAYOUT_ROWS ); + item2["policy"] = "relative"; + item2["value"] = 0.2f; + //{ "policy": "fill"}, + Property::Map item3; + item3["policy"] = "fill"; + //{ "policy": "fit"}, + Property::Map item4; + item4["policy"] = "fit"; + + // Test "layoutRows" property + DALI_TEST_CHECK(tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_ROWS) == TableView::Property::LAYOUT_ROWS); /* - * "layout-rows": + * "layoutRows": * { * "1": { "policy": "fixed", "value": 30 }, - * "3": { "policy": "relative", "value": 0.2 } + * "3": { "policy": "relative", "value": 0.2 }, + * "4": { "policy": "fill" }, + * "6": { "policy": "fit" }, * } */ Property::Map layoutRows; - layoutRows[ "1" ] = item1; - layoutRows[ "3" ] = item2; - tableView.SetProperty( TableView::Property::LAYOUT_ROWS, layoutRows ); + layoutRows["1"] = item1; + layoutRows["3"] = item2; + layoutRows["4"] = item3; + layoutRows["6"] = item4; + tableView.SetProperty(TableView::Property::LAYOUT_ROWS, layoutRows); - DALI_TEST_EQUALS( tableView.GetFixedHeight( 1u ), 30.f, TEST_LOCATION ); - DALI_TEST_EQUALS( tableView.GetRelativeHeight( 3u ), 0.2f, TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetFixedHeight(1u), 30.f, TEST_LOCATION); + DALI_TEST_EQUALS(tableView.GetRelativeHeight(3u), 0.2f, TEST_LOCATION); Property::Map layoutRowsGet = tableView.GetProperty(TableView::Property::LAYOUT_ROWS).Get(); - DALI_TEST_EQUALS( layoutRowsGet.GetKey(1).compare(layoutRows.GetKey(0)), 0, TEST_LOCATION ); - Property::Map* childMap =layoutRowsGet.GetValue(1).GetMap(); - DALI_TEST_CHECK( childMap->Find( "policy" )->Get().compare("fixed") == 0 ); - DALI_TEST_EQUALS( childMap->Find( "value" )->Get(), 30.f, TEST_LOCATION ); + DALI_TEST_EQUALS(layoutRowsGet.GetKey(1).compare(layoutRows.GetKey(0)), 0, TEST_LOCATION); + Property::Map* childMap = layoutRowsGet.GetValue(1).GetMap(); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("fixed") == 0); + DALI_TEST_EQUALS(childMap->Find("value")->Get(), 30.f, TEST_LOCATION); + + childMap = layoutRowsGet.GetValue(3).GetMap(); + DALI_TEST_CHECK(layoutRowsGet.GetKey(3).compare(layoutRows.GetKey(1)) == 0); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("relative") == 0); + DALI_TEST_EQUALS(childMap->Find("value")->Get(), 0.2f, TEST_LOCATION); + + childMap = layoutRowsGet.GetValue(4).GetMap(); + DALI_TEST_CHECK(layoutRowsGet.GetKey(4).compare(layoutRows.GetKey(2)) == 0); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("fill") == 0); - childMap =layoutRowsGet.GetValue(3).GetMap(); - DALI_TEST_CHECK( layoutRowsGet.GetKey(3).compare(layoutRows.GetKey(1)) == 0 ); - DALI_TEST_CHECK( childMap->Find( "policy" )->Get().compare("relative") == 0 ); - DALI_TEST_EQUALS( childMap->Find( "value" )->Get(), 0.2f, TEST_LOCATION ); + childMap = layoutRowsGet.GetValue(6).GetMap(); + DALI_TEST_CHECK(layoutRowsGet.GetKey(6).compare(layoutRows.GetKey(3)) == 0); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("fit") == 0); - // Test "layout-columns" property - DALI_TEST_CHECK( tableView.GetPropertyIndex( PROPERTY_NAME_LAYOUT_COLUMNS ) == TableView::Property::LAYOUT_COLUMNS ); + // Test "layoutColumns" property + DALI_TEST_CHECK(tableView.GetPropertyIndex(PROPERTY_NAME_LAYOUT_COLUMNS) == TableView::Property::LAYOUT_COLUMNS); /* - * "layout-columns": + * "layoutColumns": * { * "2": { "policy": "relative", "value": 0.2 }, - * "3": { "policy": "fixed", "value": 30 } + * "3": { "policy": "fixed", "value": 30 }, + * "5": { "policy": "fit" }, + * "7": { "policy": "fill" } * } */ Property::Map layoutColumns; - layoutColumns[ "2" ] = item2; - layoutColumns[ "3" ] = item1; - tableView.SetProperty( TableView::Property::LAYOUT_COLUMNS, layoutColumns ); + layoutColumns["2"] = item2; + layoutColumns["3"] = item1; + layoutColumns["5"] = item4; + layoutColumns["7"] = item3; + tableView.SetProperty(TableView::Property::LAYOUT_COLUMNS, layoutColumns); - DALI_TEST_EQUALS( tableView.GetRelativeWidth( 2u ), 0.2f, TEST_LOCATION ); - DALI_TEST_EQUALS( tableView.GetFixedWidth( 3u ), 30.f, TEST_LOCATION ); + DALI_TEST_EQUALS(tableView.GetRelativeWidth(2u), 0.2f, TEST_LOCATION); + DALI_TEST_EQUALS(tableView.GetFixedWidth(3u), 30.f, TEST_LOCATION); Property::Map layoutColumnsGet = tableView.GetProperty(TableView::Property::LAYOUT_COLUMNS).Get(); - DALI_TEST_CHECK( layoutColumnsGet.GetKey(2).compare(layoutColumns.GetKey(0)) == 0 ); - childMap =layoutColumnsGet.GetValue(2).GetMap(); - DALI_TEST_CHECK( childMap->Find( "policy" )->Get().compare("relative") == 0 ); - DALI_TEST_EQUALS( childMap->Find( "value" )->Get(), 0.2f, TEST_LOCATION ); - childMap =layoutColumnsGet.GetValue(3).GetMap(); - DALI_TEST_CHECK( layoutColumnsGet.GetKey(3).compare(layoutColumns.GetKey(1)) == 0 ); - DALI_TEST_CHECK( childMap->Find( "policy" )->Get().compare("fixed") == 0 ); - DALI_TEST_EQUALS( childMap->Find( "value" )->Get(),30.f, TEST_LOCATION ); + + DALI_TEST_CHECK(layoutColumnsGet.GetKey(2).compare(layoutColumns.GetKey(0)) == 0); + childMap = layoutColumnsGet.GetValue(2).GetMap(); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("relative") == 0); + DALI_TEST_EQUALS(childMap->Find("value")->Get(), 0.2f, TEST_LOCATION); + + childMap = layoutColumnsGet.GetValue(3).GetMap(); + DALI_TEST_CHECK(layoutColumnsGet.GetKey(3).compare(layoutColumns.GetKey(1)) == 0); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("fixed") == 0); + DALI_TEST_EQUALS(childMap->Find("value")->Get(), 30.f, TEST_LOCATION); + + childMap = layoutColumnsGet.GetValue(5).GetMap(); + DALI_TEST_CHECK(layoutColumnsGet.GetKey(5).compare(layoutColumns.GetKey(2)) == 0); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("fit") == 0); + + childMap = layoutColumnsGet.GetValue(7).GetMap(); + DALI_TEST_CHECK(layoutColumnsGet.GetKey(7).compare(layoutColumns.GetKey(3)) == 0); + DALI_TEST_CHECK(childMap->Find("policy")->Get().compare("fill") == 0); END_TEST; } -int UtcDaliTableViewCustomProperties(void) +int UtcDaliTableViewChildProperties(void) { ToolkitTestApplication application; - tet_infoline("UtcDaliTableViewCustomProperties"); + tet_infoline("UtcDaliTableViewChildProperties"); // Create a 10x10 table-view - TableView tableView = TableView::New(10,10); - Stage::GetCurrent().Add( tableView ); - tableView.SetSize( Dali::Vector2( 100.0f, 100.0f ) ); + TableView tableView = TableView::New(10, 10); + application.GetScene().Add(tableView); + tableView.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); - DALI_TEST_CHECK( tableView ); + DALI_TEST_CHECK(tableView); // Create a child actor with the custom properties Actor child1 = Actor::New(); - child1.RegisterProperty( "cell-index", Vector2( 3, 4 ), Property::READ_WRITE ); - tableView.Add( child1 ); + child1.SetProperty(TableView::ChildProperty::CELL_INDEX, Vector2(3, 4)); + tableView.Add(child1); // Check for actors at actual positions. - DALI_TEST_CHECK( tableView.GetChildAt(TableView::CellPosition(3,4)) == child1); + DALI_TEST_CHECK(tableView.GetChildAt(TableView::CellPosition(3, 4)) == child1); // Create a second child actor with the custom properties - Actor child2 = Actor::New(); - float rowSpan = 3.f; + Actor child2 = Actor::New(); + float rowSpan = 3.f; float columnSpan = 2.f; - child2.RegisterProperty( "cell-index", Vector2( 6, 1 ), Property::READ_WRITE ); - child2.RegisterProperty( "row-span", rowSpan, Property::READ_WRITE ); - child2.RegisterProperty( "column-span", columnSpan, Property::READ_WRITE ); - tableView.Add( child2 ); + child2.SetProperty(TableView::ChildProperty::CELL_INDEX, Vector2(6, 1)); + child2.SetProperty(TableView::ChildProperty::ROW_SPAN, rowSpan); + child2.SetProperty(TableView::ChildProperty::COLUMN_SPAN, columnSpan); + tableView.Add(child2); // Check for actors at actual positions. - for( int i=0; i(Actor::Property::ANCHOR_POINT), AnchorPoint::TOP_LEFT, TEST_LOCATION); + DALI_TEST_EQUALS(child3.GetCurrentProperty(Actor::Property::PARENT_ORIGIN), ParentOrigin::TOP_LEFT, TEST_LOCATION); + DALI_TEST_EQUALS(child3.GetCurrentProperty(Actor::Property::POSITION), Vector3(2.5f, 5.0f, 0.0f), TEST_LOCATION); END_TEST; } @@ -745,10 +793,10 @@ int UtcDaliTableViewGetChildAtN(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); + TableView tableView = TableView::New(10, 10); - Actor actor = tableView.GetChildAt( TableView::CellPosition( 200, 200 ) ); - DALI_TEST_CHECK( !actor ); + Actor actor = tableView.GetChildAt(TableView::CellPosition(200, 200)); + DALI_TEST_CHECK(!actor); END_TEST; } @@ -757,9 +805,9 @@ int UtcDaliTableViewAddChildN(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView.AddChild( Actor::New(), TableView::CellPosition( 0, 0 ) ) ); - DALI_TEST_CHECK( ! tableView.AddChild( Actor::New(), TableView::CellPosition( 0, 0 ) ) ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView.AddChild(Actor::New(), TableView::CellPosition(0, 0))); + DALI_TEST_CHECK(!tableView.AddChild(Actor::New(), TableView::CellPosition(0, 0))); END_TEST; } @@ -768,11 +816,11 @@ int UtcDaliTableViewInsertRowAtZero(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView.AddChild( Actor::New(), TableView::CellPosition( 0, 0 , 10, 10 ) ) ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView.AddChild(Actor::New(), TableView::CellPosition(0, 0, 10, 10))); tableView.InsertRow(0); - DALI_TEST_CHECK( tableView.GetRows() == 11 ); + DALI_TEST_CHECK(tableView.GetRows() == 11); END_TEST; } @@ -781,11 +829,11 @@ int UtcDaliTableViewDeleteRowAtZero(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView.AddChild( Actor::New(), TableView::CellPosition( 0, 0 , 10, 10 ) ) ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView.AddChild(Actor::New(), TableView::CellPosition(0, 0, 10, 10))); tableView.DeleteRow(0); - DALI_TEST_CHECK( tableView.GetRows() == 9 ); + DALI_TEST_CHECK(tableView.GetRows() == 9); END_TEST; } @@ -794,11 +842,11 @@ int UtcDaliTableViewInsertColumnAtZero(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView.AddChild( Actor::New(), TableView::CellPosition( 0, 0 , 10, 10 ) ) ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView.AddChild(Actor::New(), TableView::CellPosition(0, 0, 10, 10))); tableView.InsertColumn(0); - DALI_TEST_CHECK( tableView.GetColumns() == 11 ); + DALI_TEST_CHECK(tableView.GetColumns() == 11); END_TEST; } @@ -807,11 +855,11 @@ int UtcDaliTableViewDeleteColumnAtZero(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(10,10); - DALI_TEST_CHECK( tableView.AddChild( Actor::New(), TableView::CellPosition( 0, 0 , 10, 10 ) ) ); + TableView tableView = TableView::New(10, 10); + DALI_TEST_CHECK(tableView.AddChild(Actor::New(), TableView::CellPosition(0, 0, 10, 10))); tableView.DeleteColumn(0); - DALI_TEST_CHECK( tableView.GetColumns() == 9 ); + DALI_TEST_CHECK(tableView.GetColumns() == 9); END_TEST; } @@ -821,16 +869,16 @@ int UtcDaliTableViewTypeRegistry(void) ToolkitTestApplication application; TypeRegistry typeRegistry = TypeRegistry::Get(); - DALI_TEST_CHECK( typeRegistry ); + DALI_TEST_CHECK(typeRegistry); - TypeInfo typeInfo = typeRegistry.GetTypeInfo( "TableView" ); - DALI_TEST_CHECK( typeInfo ); + TypeInfo typeInfo = typeRegistry.GetTypeInfo("TableView"); + DALI_TEST_CHECK(typeInfo); BaseHandle handle = typeInfo.CreateInstance(); - DALI_TEST_CHECK( handle ); + DALI_TEST_CHECK(handle); - TableView view = TableView::DownCast( handle ); - DALI_TEST_CHECK( view ); + TableView view = TableView::DownCast(handle); + DALI_TEST_CHECK(view); END_TEST; } @@ -839,79 +887,203 @@ int UtcDaliTableViewKeyboardFocus(void) { ToolkitTestApplication application; - TableView tableView = TableView::New(4,4); - tableView.SetKeyboardFocusable( true ); - tableView.SetName( "TableView"); + TableView tableView = TableView::New(4, 4); + tableView.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + tableView.SetProperty(Dali::Actor::Property::NAME, "TableView"); - for ( int row = 0; row < 4; ++row ) + for(int row = 0; row < 4; ++row) { - for ( int col = 0; col < 4; ++col ) + for(int col = 0; col < 4; ++col) { - Control control = Control::New(); + Control control = Control::New(); std::ostringstream str; str << row << "-" << col; - control.SetName( str.str() ); - control.SetKeyboardFocusable( true ); - tableView.AddChild( control, TableView::CellPosition( row, col ) ); + control.SetProperty(Dali::Actor::Property::NAME, str.str()); + control.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + tableView.AddChild(control, TableView::CellPosition(row, col)); + } + } + + application.GetScene().Add(tableView); + + application.SendNotification(); + application.Render(); + + Actor firstFocusActor = Toolkit::Internal::GetImplementation(tableView).GetNextKeyboardFocusableActor(Actor(), Control::KeyboardFocus::RIGHT, true); + DALI_TEST_CHECK(firstFocusActor); + DALI_TEST_CHECK(firstFocusActor.GetProperty(Dali::Actor::Property::NAME) == "0-0"); + + KeyboardFocusManager manager = KeyboardFocusManager::Get(); + manager.SetFocusGroupLoop(true); + manager.SetCurrentFocusActor(firstFocusActor); + + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-2"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-3"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-0"); + + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-3"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-2"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-0"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "3-3"); + + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1"); + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-1"); + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "3-1"); + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "3-1"); + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-1"); + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1"); + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + + END_TEST; +} + +int UtcDaliTableViewKeyboardFocusInNestedTableView(void) +{ + ToolkitTestApplication application; + + TableView tableView = TableView::New(3, 3); + tableView.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + tableView.SetProperty(Dali::Actor::Property::NAME, "TableView"); + + for(int row = 0; row < 3; ++row) + { + for(int col = 0; col < 3; ++col) + { + std::ostringstream str; + str << row << "-" << col; + + if(row == 1 && col == 1) + { + // Add a nested 2x2 table view in the middle cell of the parent table view + TableView childTableView = TableView::New(2, 2); + childTableView.SetProperty(Dali::Actor::Property::NAME, str.str()); + + for(int childRow = 0; childRow < 2; childRow++) + { + for(int childCol = 0; childCol < 2; childCol++) + { + Control control = Control::New(); + std::ostringstream nameStr; + nameStr << row << "-" << col << "-" << childRow << "-" << childCol; + control.SetProperty(Dali::Actor::Property::NAME, nameStr.str()); + control.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + childTableView.AddChild(control, TableView::CellPosition(childRow, childCol)); + } + } + tableView.AddChild(childTableView, TableView::CellPosition(row, col)); + } + else + { + Control control = Control::New(); + control.SetProperty(Dali::Actor::Property::NAME, str.str()); + control.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true); + tableView.AddChild(control, TableView::CellPosition(row, col)); + } } } - Stage::GetCurrent().Add( tableView ); + application.GetScene().Add(tableView); application.SendNotification(); application.Render(); - Actor firstFocusActor = Toolkit::Internal::GetImplementation( tableView ).GetNextKeyboardFocusableActor( Actor(), Control::KeyboardFocus::RIGHT, true ); - DALI_TEST_CHECK( firstFocusActor ); - DALI_TEST_CHECK( firstFocusActor.GetName() == "0-0" ); + Actor firstFocusActor = Toolkit::Internal::GetImplementation(tableView).GetNextKeyboardFocusableActor(Actor(), Control::KeyboardFocus::RIGHT, true); + DALI_TEST_CHECK(firstFocusActor); + DALI_TEST_CHECK(firstFocusActor.GetProperty(Dali::Actor::Property::NAME) == "0-0"); KeyboardFocusManager manager = KeyboardFocusManager::Get(); - manager.SetFocusGroupLoop( true ); - manager.SetCurrentFocusActor( firstFocusActor ); - - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-0" ); - manager.MoveFocus( Control::KeyboardFocus::RIGHT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-1" ); - manager.MoveFocus( Control::KeyboardFocus::RIGHT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-2" ); - manager.MoveFocus( Control::KeyboardFocus::RIGHT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-3" ); - manager.MoveFocus( Control::KeyboardFocus::RIGHT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "1-0" ); - - manager.MoveFocus( Control::KeyboardFocus::LEFT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-3" ); - manager.MoveFocus( Control::KeyboardFocus::LEFT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-2" ); - manager.MoveFocus( Control::KeyboardFocus::LEFT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-1" ); - manager.MoveFocus( Control::KeyboardFocus::LEFT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-0" ); - manager.MoveFocus( Control::KeyboardFocus::LEFT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "3-3" ); - - manager.MoveFocus( Control::KeyboardFocus::RIGHT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-0" ); - manager.MoveFocus( Control::KeyboardFocus::RIGHT ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-1" ); - - manager.MoveFocus( Control::KeyboardFocus::DOWN ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "1-1" ); - manager.MoveFocus( Control::KeyboardFocus::DOWN ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "2-1" ); - manager.MoveFocus( Control::KeyboardFocus::DOWN ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "3-1" ); - manager.MoveFocus( Control::KeyboardFocus::DOWN ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-1" ); - - manager.MoveFocus( Control::KeyboardFocus::UP ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "3-1" ); - manager.MoveFocus( Control::KeyboardFocus::UP ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "2-1" ); - manager.MoveFocus( Control::KeyboardFocus::UP ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "1-1" ); - manager.MoveFocus( Control::KeyboardFocus::UP ); - DALI_TEST_CHECK( manager.GetCurrentFocusActor().GetName() == "0-1" ); + manager.SetFocusGroupLoop(false); + manager.SetCurrentFocusActor(firstFocusActor); + + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-2"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-0-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-0-1"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-1-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-1-1"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-2"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-0"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-1"); + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-2"); + + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-1"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-0"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-2"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-1-1"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-1-0"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-0-1"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-0-0"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-0"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-2"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + manager.MoveFocus(Control::KeyboardFocus::LEFT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-0"); + + manager.MoveFocus(Control::KeyboardFocus::RIGHT); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-0-0"); + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-1-0"); + manager.MoveFocus(Control::KeyboardFocus::DOWN); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "2-1"); + + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-1-1"); + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "1-1-0-1"); + manager.MoveFocus(Control::KeyboardFocus::UP); + DALI_TEST_CHECK(manager.GetCurrentFocusActor().GetProperty(Dali::Actor::Property::NAME) == "0-1"); END_TEST; }