#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/devel-api/adaptor-framework/accessibility-bridge.h>
+#include <dali/devel-api/atspi-interfaces/accessible.h>
+#include <dali/devel-api/atspi-interfaces/value.h>
#include <dali-toolkit/devel-api/controls/scroll-bar/scroll-bar.h>
+#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
+
using namespace Dali::Accessibility;
void utc_dali_toolkit_accessibility_value_startup(void)
{
test_return_value = TET_UNDEF;
+ DBusWrapper::Install(std::unique_ptr<DBusWrapper>(new TestDBusWrapper));
}
void utc_dali_toolkit_accessibility_value_cleanup(void)
auto q = Dali::Accessibility::Accessible::Get(progress_bar);
auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
DALI_TEST_CHECK( x );
- DALI_TEST_EQUALS( x->GetMinimumIncrement(), 0.001, TEST_LOCATION );
+ DALI_TEST_EQUALS( x->GetMinimumIncrement(), 0.0, TEST_LOCATION );
END_TEST;
}
auto q = Dali::Accessibility::Accessible::Get(slider);
auto x = dynamic_cast< Dali::Accessibility::Value* >( q );
DALI_TEST_CHECK( x );
- DALI_TEST_EQUALS<float>( x->GetMinimumIncrement(), 0.05, TEST_LOCATION );
+ DALI_TEST_EQUALS<float>( x->GetMinimumIncrement(), 0.0, TEST_LOCATION );
END_TEST;
}
DALI_TEST_EQUALS( x->SetCurrent( 0.25 ), true, TEST_LOCATION );
DALI_TEST_EQUALS( x->GetCurrent(), 0.25, TEST_LOCATION );
+ const float MIN_BOUND = 0.0f;
+ const float MAX_BOUND = 1.0f;
+ const int NUM_MARKS = 5;
+ Property::Array marks;
+ for( int i = 0; i < NUM_MARKS; ++i )
+ {
+ marks.PushBack( MIN_BOUND + ( static_cast<float>(i) / ( NUM_MARKS - 1) ) * ( MAX_BOUND - MIN_BOUND ) );
+ }
+ slider.SetProperty( Toolkit::Slider::Property::MARKS, marks );
+ // when current value is not a mark, set new value to the closest mark
+ DALI_TEST_CHECK( x->SetCurrent( 0.1f ) );
+ slider.SetProperty( Toolkit::Slider::Property::SNAP_TO_MARKS, true );
+ DALI_TEST_CHECK( x->SetCurrent( 0.7f ) );
+ DALI_TEST_EQUALS( static_cast<float>( x->GetCurrent() ), marks[3].Get<float>(), TEST_LOCATION );
+ // when current value is a mark at index i set new value to the mark at index i +/- 1
+ // depending if the new value is greater/less than current value
+ DALI_TEST_CHECK( x->SetCurrent( 0.2f ) );
+ DALI_TEST_EQUALS( static_cast<float>( x->GetCurrent() ), marks[2].Get<float>(), TEST_LOCATION );
END_TEST;
}