#include <dali-toolkit/dali-toolkit.h>
#include <dali/devel-api/adaptor-framework/accessibility.h>
+#include <dali/devel-api/atspi-interfaces/accessible.h>
+#include <dali/devel-api/atspi-interfaces/text.h>
+#include <dali-toolkit/internal/controls/text-controls/text-field-impl.h>
#include <dali-toolkit/internal/controls/text-controls/text-editor-impl.h>
#include <automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dbus-wrapper.h>
END_TEST;
}
+int utcDaliAccessibilityTextEditorGetRangeExtents(void)
+{
+ ToolkitTestApplication application;
+
+ auto editor = Dali::Toolkit::TextEditor::New();
+ auto q = Dali::Accessibility::Accessible::Get( editor );
+ auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+ DALI_TEST_CHECK( x );
+
+ if( x )
+ {
+ auto rangeExtents = x->GetRangeExtents( 0, 0, Dali::Accessibility::CoordinateType::WINDOW );
+ DALI_TEST_EQUALS( (int)rangeExtents.x, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.y, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.width, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.height, 0, TEST_LOCATION );
+
+ application.GetScene().Add( editor );
+
+ editor.SetProperty( Toolkit::TextEditor::Property::POINT_SIZE, 7.f );
+ editor.SetProperty( Actor::Property::SIZE, Vector2(200.f, 200.f) );
+ editor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+ editor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+ editor.SetProperty( Toolkit::TextEditor::Property::TEXT, "text editor test sentence" );
+
+ // Avoid a crash when core load gl resources.
+ application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE);
+
+ // Render and notify
+ application.SendNotification();
+ application.Render();
+
+ auto characterCount = x->GetCharacterCount();
+ rangeExtents = x->GetRangeExtents( 0, characterCount, Dali::Accessibility::CoordinateType::WINDOW );
+
+ DALI_TEST_EQUALS((int)rangeExtents.x >= 0, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.y >= 0, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.width <= 200, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.height <= 200, true, TEST_LOCATION);
+ }
+
+ END_TEST;
+}
+
int utcDaliAccessibilityTextFieldGetName(void)
{
ToolkitTestApplication application;
DALI_TEST_EQUALS( x->GetText( 0, 0 ), "", TEST_LOCATION );
field.SetProperty( Toolkit::TextField::Property::TEXT, "exemplary_text" );
DALI_TEST_EQUALS( x->GetText( 0, 9 ), "exemplary", TEST_LOCATION );
+
+ Dali::Property::Map hiddenInputSettings;
+ hiddenInputSettings[ Toolkit::HiddenInput::Property::MODE ] = Toolkit::HiddenInput::Mode::HIDE_ALL;
+
+ field.SetProperty( Toolkit::TextField::Property::HIDDEN_INPUT_SETTINGS, hiddenInputSettings );
+
+ DALI_TEST_EQUALS( x->GetName(), "", TEST_LOCATION );
+ DALI_TEST_EQUALS( x->GetText( 0, 9 ), "*********", TEST_LOCATION );
+
+ hiddenInputSettings[ Toolkit::HiddenInput::Property::SUBSTITUTE_CHARACTER ] = 0x23;
+ field.SetProperty( Toolkit::TextField::Property::HIDDEN_INPUT_SETTINGS, hiddenInputSettings );
+
+ DALI_TEST_EQUALS( x->GetName(), "", TEST_LOCATION );
+ DALI_TEST_EQUALS( x->GetText( 0, 9 ), "#########", TEST_LOCATION );
}
END_TEST;
DALI_TEST_EQUALS( range.content, " test sentence", TEST_LOCATION );
DALI_TEST_EQUALS( range.startOffset, 25, TEST_LOCATION );
DALI_TEST_EQUALS( range.endOffset, 39, TEST_LOCATION );
+
+ Dali::Property::Map hiddenInputSettings;
+ hiddenInputSettings[ Toolkit::HiddenInput::Property::MODE ] = Toolkit::HiddenInput::Mode::HIDE_ALL;
+ hiddenInputSettings[ Toolkit::HiddenInput::Property::SUBSTITUTE_CHARACTER ] = 0x23;
+ field.SetProperty( Toolkit::TextField::Property::HIDDEN_INPUT_SETTINGS, hiddenInputSettings );
+ range = x->GetTextAtOffset( 8, Dali::Accessibility::TextBoundary::LINE );
+ DALI_TEST_EQUALS( range.content, "", TEST_LOCATION );
+ DALI_TEST_EQUALS( range.startOffset, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( range.endOffset, 0, TEST_LOCATION );
+
}
END_TEST;
DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
DALI_TEST_EQUALS( range.content, "plary", TEST_LOCATION );
+
+ Dali::Property::Map hiddenInputSettings;
+ hiddenInputSettings[ Toolkit::HiddenInput::Property::MODE ] = Toolkit::HiddenInput::Mode::HIDE_ALL;
+ field.SetProperty( Toolkit::TextField::Property::HIDDEN_INPUT_SETTINGS, hiddenInputSettings );
+
+ range = x->GetRangeOfSelection( 0 );
+ DALI_TEST_EQUALS( range.startOffset, 4, TEST_LOCATION );
+ DALI_TEST_EQUALS( range.endOffset, 9, TEST_LOCATION );
+ DALI_TEST_EQUALS( range.content, "*****", TEST_LOCATION );
}
END_TEST;
END_TEST;
}
+int utcDaliAccessibilityTextFieldGetRangeExtents(void)
+{
+ ToolkitTestApplication application;
+
+ auto field = Dali::Toolkit::TextField::New();
+ auto q = Dali::Accessibility::Accessible::Get( field );
+ auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+ DALI_TEST_CHECK( x );
+
+ if( x )
+ {
+ auto rangeExtents = x->GetRangeExtents( 0, 0, Dali::Accessibility::CoordinateType::WINDOW );
+ DALI_TEST_EQUALS( (int)rangeExtents.x, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.y, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.width, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.height, 0, TEST_LOCATION );
+
+ application.GetScene().Add( field );
+
+ field.SetProperty( Toolkit::TextField::Property::POINT_SIZE, 7.f );
+ field.SetProperty( Actor::Property::SIZE, Vector2(200.f, 200.f) );
+ field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+ field.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+ field.SetProperty( Toolkit::TextField::Property::TEXT, "text field test sentence" );
+
+ // Avoid a crash when core load gl resources.
+ application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE);
+
+ // Render and notify
+ application.SendNotification();
+ application.Render();
+
+ auto characterCount = x->GetCharacterCount();
+ rangeExtents = x->GetRangeExtents( 0, characterCount, Dali::Accessibility::CoordinateType::WINDOW );
+
+ DALI_TEST_EQUALS((int)rangeExtents.x >= 0, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.y >= 0, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.width <= 200, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.height <= 200, true, TEST_LOCATION);
+ }
+
+ END_TEST;
+}
+
int utcDaliAccessibilityTextLabelGetName(void)
{
ToolkitTestApplication application;
END_TEST;
}
+
+int utcDaliAccessibilityTextLabelGetRangeExtents(void)
+{
+ ToolkitTestApplication application;
+
+ auto label = Dali::Toolkit::TextLabel::New();
+ auto q = Dali::Accessibility::Accessible::Get( label );
+ auto x = dynamic_cast< Dali::Accessibility::Text* >( q );
+ DALI_TEST_CHECK( x );
+
+ if( x )
+ {
+ auto rangeExtents = x->GetRangeExtents( 0, 0, Dali::Accessibility::CoordinateType::WINDOW );
+ DALI_TEST_EQUALS( (int)rangeExtents.x, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.y, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.width, 0, TEST_LOCATION );
+ DALI_TEST_EQUALS( (int)rangeExtents.height, 0, TEST_LOCATION );
+
+ application.GetScene().Add( label );
+
+ label.SetProperty( Toolkit::TextLabel::Property::POINT_SIZE, 7.f );
+ label.SetProperty( Toolkit::TextLabel::Property::MULTI_LINE, true );
+ label.SetProperty( Actor::Property::SIZE, Vector2(200.f, 200.f) );
+ label.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+ label.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+ label.SetProperty( Toolkit::TextLabel::Property::TEXT, "text label\n test sentence" );
+
+ // Avoid a crash when core load gl resources.
+ application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE);
+
+ // Render and notify
+ application.SendNotification();
+ application.Render();
+
+ auto characterCount = x->GetCharacterCount();
+ rangeExtents = x->GetRangeExtents( 0, characterCount, Dali::Accessibility::CoordinateType::WINDOW );
+
+ DALI_TEST_EQUALS((int)rangeExtents.x >= 0, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.y >= 0, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.width <= 200, true, TEST_LOCATION);
+ DALI_TEST_EQUALS((int)rangeExtents.height <= 200, true, TEST_LOCATION);
+ }
+
+ END_TEST;
+}