Chromium Code Reviews| Index: ui/views/widget/native_widget_mac_accessibility_unittest.mm |
| diff --git a/ui/views/widget/native_widget_mac_accessibility_unittest.mm b/ui/views/widget/native_widget_mac_accessibility_unittest.mm |
| index a95cf0ad3f595956c94771b595f3fb05656a0e0f..47d6a29e51c46dc00ac417fe126fc655d0565fd0 100644 |
| --- a/ui/views/widget/native_widget_mac_accessibility_unittest.mm |
| +++ b/ui/views/widget/native_widget_mac_accessibility_unittest.mm |
| @@ -304,4 +304,38 @@ TEST_F(NativeWidgetMacAccessibilityTest, TextfieldEditableAttributes) { |
| NSAccessibilityVisibleCharacterRangeAttribute) rangeValue])); |
| } |
| +// Test writing accessibility attributes via an accessibility client. |
| +TEST_F(NativeWidgetMacAccessibilityTest, TextfieldWritableAttributes) { |
| + Textfield* textfield = AddChildTextfield(GetWidgetBounds().size()); |
| + |
| + // Get the textfield accessibility object. |
| + NSPoint midpoint = gfx::ScreenPointToNSPoint(GetWidgetBounds().CenterPoint()); |
| + id axTextfield = [widget()->GetNativeWindow() accessibilityHitTest:midpoint]; |
|
tapted
2016/08/12 03:50:52
nit: ax_textfield (or perhaps ax_node?)
Patti Lor
2016/08/12 05:16:54
Done.
|
| + EXPECT_TRUE(axTextfield); |
| + |
| + // Make sure it's the correct accessibility object. |
| + id value = |
| + [axTextfield accessibilityAttributeValue:NSAccessibilityValueAttribute]; |
| + EXPECT_NSEQ(kTestStringValue, value); |
| + |
| + // Write a new NSAccessibilityValueAttribute. |
| + EXPECT_TRUE([axTextfield |
| + accessibilityIsAttributeSettable:NSAccessibilityValueAttribute]); |
| + [axTextfield accessibilitySetValue:kTestPlaceholderText |
| + forAttribute:NSAccessibilityValueAttribute]; |
| + EXPECT_NSEQ(kTestPlaceholderText, |
| + AttributeValueAtMidpoint(NSAccessibilityValueAttribute)); |
| + EXPECT_EQ(base::SysNSStringToUTF16(kTestPlaceholderText), textfield->text()); |
| + |
| + // Test a read-only textfield. |
| + textfield->SetReadOnly(true); |
| + EXPECT_FALSE([axTextfield |
| + accessibilityIsAttributeSettable:NSAccessibilityValueAttribute]); |
| + [axTextfield accessibilitySetValue:kTestStringValue |
| + forAttribute:NSAccessibilityValueAttribute]; |
|
tapted
2016/08/12 03:50:52
nit: align colons
Patti Lor
2016/08/12 05:16:54
Done.
|
| + EXPECT_NSEQ(kTestPlaceholderText, |
| + AttributeValueAtMidpoint(NSAccessibilityValueAttribute)); |
| + EXPECT_EQ(base::SysNSStringToUTF16(kTestPlaceholderText), textfield->text()); |
| +} |
| + |
| } // namespace views |