[AT-SPI] UTC correction
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / utc-Dali-Accessibility-Controls-BridgeUp.cpp
index caddd7d..3acd294 100644 (file)
@@ -1,30 +1,30 @@
 #include <dali-toolkit-test-suite-utils.h>
 #include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/accessibility-test-utils.h>
+#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali/devel-api/adaptor-framework/accessibility.h>
 #include <dali/devel-api/adaptor-framework/accessibility-impl.h>
 #include <dali-toolkit/devel-api/controls/control-devel.h>
-#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
+#include <dali-toolkit/devel-api/controls/popup/popup.h>
 #include <dali/devel-api/actors/actor-devel.h>
 #include <dali/devel-api/common/stage.h>
 #include <cstdlib>
 
-using namespace Dali::Toolkit;
-
-//using DBusWrapper = Dali::Accessibility::DBusWrapper; // FIXME
+#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
 
-namespace Dali::Accessibility::TestDBusWrapper { struct error {}; } // FIXME
+using namespace Dali::Toolkit;
 
 void utc_dali_accessibility_controls_bridge_up_startup(void)
 {
   test_return_value = TET_UNDEF;
+  DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
 }
 
 void utc_dali_accessibility_controls_bridge_up_cleanup(void)
 {
   test_return_value = TET_PASS;
   //DBusWrapper::Install({}) is a de-install
-  //DBusWrapper::Install({}); // FIXME
+  DBusWrapper::Install({});
 }
 
 namespace Dali {
@@ -39,10 +39,10 @@ namespace Dali {
 
 int UtcDaliControlAccessibilityRaiseBridge(void)
 {
-  ToolkitTestApplication application;
-
   DALI_TEST_CHECK(!Accessibility::IsUp());
 
+  ToolkitTestApplication application;
+
   Dali::Accessibility::TestEnableSC(true);
 
   DALI_TEST_CHECK(Accessibility::IsUp());
@@ -180,7 +180,7 @@ int UtcDaliControlAccessibilityState(void)
 int UtcDaliControlAccessibilityModal(void)
 {
   ToolkitTestApplication application;
-  auto control = TextSelectionPopup::New( NULL );
+  auto control = Dali::Toolkit::Popup::New();
   auto states = DevelControl::GetAccessibilityStates(control);
 
   DALI_TEST_CHECK( states[ Dali::Accessibility::State::MODAL ] );
@@ -201,7 +201,7 @@ int UtcDaliControlAccessibilityHighlightable(void)
   Dali::Accessibility::TestEnableSC( true );
 
   auto states_by_bridge = Dali::Accessibility::States { TestGetStates( q->GetAddress() )};
-  DALI_TEST_CHECK( states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
+  DALI_TEST_CHECK( !states_by_bridge[ Dali::Accessibility::State::HIGHLIGHTABLE ] );
 
   control.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true );
   DALI_TEST_EQUALS( Property::BOOLEAN, control.GetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE ).GetType(), TEST_LOCATION );
@@ -229,6 +229,9 @@ int UtcDaliControlAccessibilityHighlightBridgeUp(void)
   auto controla = Control::New();
   auto controlb = Control::New();
 
+  controla.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true );
+  controlb.SetProperty( DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, true );
+
   Dali::Accessibility::TestEnableSC( true );
 
   auto accessible_a = Dali::Accessibility::Accessible::Get( controla );
@@ -498,14 +501,14 @@ int UtcDaliAccessibilityParentChildren(void)
     TestGetIndexInParent( child_1_accessible -> GetAddress() );
     DALI_ABORT("Object has parent, test abort");
   }
-  catch(Accessibility::TestDBusWrapper::error){}
+  catch(TestDBusWrapper::error &){}
 
   try
   {
     TestGetChildAtIndex( parent_accessible -> GetAddress(), -1 );
     DALI_ABORT("Positive index, test abort");
   }
-  catch(Accessibility::TestDBusWrapper::error){}
+  catch(TestDBusWrapper::error &){}
 
   DALI_TEST_EQUALS( parent_accessible -> GetChildCount(), 0, TEST_LOCATION );
 
@@ -514,7 +517,7 @@ int UtcDaliAccessibilityParentChildren(void)
     child_1_accessible -> GetIndexInParent();
     DALI_ABORT("Object has parent, test abort");
   }
-  catch (std::domain_error){}
+  catch (Dali::DaliException &){}
 
   parent.Add(child_1);
   parent.Add(child_2);
@@ -696,10 +699,10 @@ int UtcDaliAccessibilityAction(void)
   auto a = Dali::Accessibility::Accessible::Get( control );
   auto b = dynamic_cast<Dali::Accessibility::Action*>( a );
 
-  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" };
+  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "ReadingPaused", "ReadingResumed", "show", "hide" };
   auto count = b -> GetActionCount();
 
-  DALI_TEST_EQUALS( count, 7, TEST_LOCATION );
+  DALI_TEST_EQUALS( count, 9, TEST_LOCATION );
 
   for (auto i = 0u; i<count; ++i)
   {
@@ -709,37 +712,15 @@ int UtcDaliAccessibilityAction(void)
     DALI_TEST_EQUALS( b -> GetActionKeyBinding( i ), "", TEST_LOCATION );
   }
 
-  try
-  {
-    b ->GetActionDescription( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  try
-  {
-    b ->GetActionName( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  try
-  {
-    b ->GetLocalizedActionName( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
-
-  try
-  {
-    b ->GetActionKeyBinding( count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( std::domain_error ){}
+  // Empty strings should be returned for invalid indices
+  DALI_TEST_EQUALS(b->GetActionDescription(count), "", TEST_LOCATION);
+  DALI_TEST_EQUALS(b->GetActionName(count), "", TEST_LOCATION);
+  DALI_TEST_EQUALS(b->GetLocalizedActionName(count), "", TEST_LOCATION);
+  DALI_TEST_EQUALS(b->GetActionKeyBinding(count), "", TEST_LOCATION);
 
   count = TestGetActionCount(b -> GetAddress());
 
-  DALI_TEST_EQUALS( count, 7, TEST_LOCATION );
+  DALI_TEST_EQUALS( count, 9, TEST_LOCATION );
 
   for (auto i = 0u; i<count; ++i)
   {
@@ -749,34 +730,10 @@ int UtcDaliAccessibilityAction(void)
     DALI_TEST_EQUALS( TestGetActionKeyBinding( b->GetAddress(), i ), "", TEST_LOCATION );
   }
 
-  try
-  {
-    TestGetActionDescription( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-  try
-  {
-    TestGetActionName( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-  try
-  {
-    TestGetLocalizedActionName( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
-  try
-  {
-    TestGetActionKeyBinding( b->GetAddress(), count );
-    DALI_ABORT( "Correct index, abort" );
-  }
-  catch( Dali::Accessibility::TestDBusWrapper::error ){}
-
+  DALI_TEST_EQUALS(TestGetActionDescription(b->GetAddress(), count), "", TEST_LOCATION);
+  DALI_TEST_EQUALS(TestGetActionName(b->GetAddress(), count), "", TEST_LOCATION);
+  DALI_TEST_EQUALS(TestGetLocalizedActionName(b->GetAddress(), count), "", TEST_LOCATION);
+  DALI_TEST_EQUALS(TestGetActionKeyBinding(b->GetAddress(), count), "", TEST_LOCATION);
 
   Dali::Accessibility::TestEnableSC( false );
 
@@ -788,16 +745,17 @@ int UtcDaliAccessibilityDoAction(void)
   ToolkitTestApplication application;
 
   Dali::Accessibility::TestEnableSC( true );
-  thread_local std::vector< bool > actions_done { false, false, false, false };
+  thread_local std::vector< bool > actions_done { false, false, false, false, false, false };
 
   auto control = Control::New(  );
   auto a = Dali::Accessibility::Accessible::Get( control );
   auto b = dynamic_cast<Dali::Accessibility::Action*>( a );
-  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "show", "hide" };
+  std::vector< std::string > actions { "activate", "accessibilityActivated", "ReadingSkipped", "ReadingCancelled", "ReadingStopped", "ReadingPaused", "ReadingResumed", "show", "hide" };
 
-  DALI_TEST_CHECK( b -> DoAction( actions[2] ) );
-  DALI_TEST_CHECK( b -> DoAction( actions[4] ) );
-  DALI_TEST_CHECK( b -> DoAction( actions[4] ) );
+  // Test calling action by name
+  DALI_TEST_CHECK( b -> DoAction( actions[2] ) ); // ReadingSkipped
+  DALI_TEST_CHECK( b -> DoAction( actions[4] ) ); // ReadingStopped
+  DALI_TEST_CHECK( b -> DoAction( actions[4] ) ); // ReadingStopped
 
   DevelControl::AccessibilityReadingSkippedSignal(control).Connect( [] () {
     actions_done[ 1 ] = true;
@@ -808,14 +766,23 @@ int UtcDaliAccessibilityDoAction(void)
   DevelControl::AccessibilityReadingStoppedSignal(control).Connect( [] () {
     actions_done[ 3 ] = true;
   } );
+   DevelControl::AccessibilityReadingPausedSignal(control).Connect( [] () {
+    actions_done[ 4 ] = true;
+  } );
+   DevelControl::AccessibilityReadingResumedSignal(control).Connect( [] () {
+    actions_done[ 5 ] = true;
+  } );
   DevelControl::AccessibilityActivateSignal(control).Connect( [] () {
     actions_done[ 0 ] = true;
   } );
 
+  // Test calling action by index
   DALI_TEST_CHECK( b -> DoAction( 1 ) );
   DALI_TEST_CHECK( b -> DoAction( 2 ) );
   DALI_TEST_CHECK( b -> DoAction( 3 ) );
   DALI_TEST_CHECK( b -> DoAction( 4 ) );
+  DALI_TEST_CHECK( b -> DoAction( 5 ) );
+  DALI_TEST_CHECK( b -> DoAction( 6 ) );
 
   for ( auto i = 0u; i < actions_done.size(); ++i )
     {
@@ -827,6 +794,8 @@ int UtcDaliAccessibilityDoAction(void)
   DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 2 ) );
   DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 3 ) );
   DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 4 ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 5 ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), 6 ) );
 
   for ( auto i = 0u; i < actions_done.size(); ++i )
     {
@@ -838,6 +807,8 @@ int UtcDaliAccessibilityDoAction(void)
   DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 2 ] ) );
   DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 3 ] ) );
   DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 4 ] ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 5 ] ) );
+  DALI_TEST_CHECK( TestDoAction( b -> GetAddress(), actions[ 6 ] ) );
 
   for ( auto i = 0u; i < actions_done.size(); ++i )
       DALI_TEST_CHECK( actions_done[ i ] );