Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: content/browser/accessibility/accessibility_win_browsertest.cc

Issue 1111163002: Fixed word and line navigation in multi-line text fields. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed first bunch of comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | content/browser/accessibility/browser_accessibility.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <vector> 5 #include <vector>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
10 #include "base/win/scoped_bstr.h" 10 #include "base/win/scoped_bstr.h"
(...skipping 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 LONG expected_end_offset = offset + 1; 1202 LONG expected_end_offset = offset + 1;
1203 CheckTextAtOffset(input_text, offset, IA2_TEXT_BOUNDARY_CHAR, 1203 CheckTextAtOffset(input_text, offset, IA2_TEXT_BOUNDARY_CHAR,
1204 expected_start_offset, expected_end_offset, expected_text); 1204 expected_start_offset, expected_end_offset, expected_text);
1205 } 1205 }
1206 1206
1207 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_CARET, 1207 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_CARET,
1208 IA2_TEXT_BOUNDARY_CHAR, CONTENTS_LENGTH - 1, CONTENTS_LENGTH, L"."); 1208 IA2_TEXT_BOUNDARY_CHAR, CONTENTS_LENGTH - 1, CONTENTS_LENGTH, L".");
1209 } 1209 }
1210 1210
1211 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, 1211 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest,
1212 DISABLED_TestMultiLineTextAtOffsetWithBoundaryCharacter) { 1212 TestMultiLineTextAtOffsetWithBoundaryCharacter) {
1213 base::win::ScopedComPtr<IAccessibleText> textarea_text; 1213 base::win::ScopedComPtr<IAccessibleText> textarea_text;
1214 SetUpTextareaField(&textarea_text); 1214 SetUpTextareaField(&textarea_text);
1215 for (LONG offset = 0; offset < CONTENTS_LENGTH; ++offset) { 1215 for (LONG offset = 0; offset < CONTENTS_LENGTH; ++offset) {
1216 std::wstring expected_text(1, TEXTAREA_CONTENTS[offset]); 1216 std::wstring expected_text(1, TEXTAREA_CONTENTS[offset]);
1217 LONG expected_start_offset = offset; 1217 LONG expected_start_offset = offset;
1218 LONG expected_end_offset = offset + 1; 1218 LONG expected_end_offset = offset + 1;
1219 CheckTextAtOffset(textarea_text, offset, IA2_TEXT_BOUNDARY_CHAR, 1219 CheckTextAtOffset(textarea_text, offset, IA2_TEXT_BOUNDARY_CHAR,
1220 expected_start_offset, expected_end_offset, expected_text); 1220 expected_start_offset, expected_end_offset, expected_text);
1221 } 1221 }
1222 1222
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1298 40, CONTENTS_LENGTH, L"like\"."); 1298 40, CONTENTS_LENGTH, L"like\".");
1299 CheckTextAtOffset(input_text, 45, IA2_TEXT_BOUNDARY_WORD, 1299 CheckTextAtOffset(input_text, 45, IA2_TEXT_BOUNDARY_WORD,
1300 40, CONTENTS_LENGTH, L"like\"."); 1300 40, CONTENTS_LENGTH, L"like\".");
1301 1301
1302 // Test special offsets. 1302 // Test special offsets.
1303 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_CARET, 1303 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_CARET,
1304 IA2_TEXT_BOUNDARY_WORD, 40, CONTENTS_LENGTH, L"like\"."); 1304 IA2_TEXT_BOUNDARY_WORD, 40, CONTENTS_LENGTH, L"like\".");
1305 } 1305 }
1306 1306
1307 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, 1307 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest,
1308 DISABLED_TestMultiLineTextAtOffsetWithBoundaryWord) { 1308 TestMultiLineTextAtOffsetWithBoundaryWord) {
1309 base::win::ScopedComPtr<IAccessibleText> textarea_text; 1309 base::win::ScopedComPtr<IAccessibleText> textarea_text;
1310 SetUpTextareaField(&textarea_text); 1310 SetUpTextareaField(&textarea_text);
1311 1311
1312 // Trailing punctuation should be included as part of the previous word. 1312 // Trailing punctuation should be included as part of the previous word.
1313 CheckTextAtOffset(textarea_text, 0, IA2_TEXT_BOUNDARY_WORD, 1313 CheckTextAtOffset(textarea_text, 0, IA2_TEXT_BOUNDARY_WORD,
1314 0, 4, L"Moz/"); 1314 0, 4, L"Moz/");
1315 CheckTextAtOffset(textarea_text, 2, IA2_TEXT_BOUNDARY_WORD, 1315 CheckTextAtOffset(textarea_text, 2, IA2_TEXT_BOUNDARY_WORD,
1316 0, 4, L"Moz/"); 1316 0, 4, L"Moz/");
1317 1317
1318 // If the offset is at the punctuation, it should return 1318 // If the offset is at the punctuation, it should return
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1416 0, CONTENTS_LENGTH, base::SysUTF8ToWide(INPUT_CONTENTS)); 1416 0, CONTENTS_LENGTH, base::SysUTF8ToWide(INPUT_CONTENTS));
1417 1417
1418 // Test special offsets. 1418 // Test special offsets.
1419 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_LENGTH, IA2_TEXT_BOUNDARY_LINE, 1419 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_LENGTH, IA2_TEXT_BOUNDARY_LINE,
1420 0, CONTENTS_LENGTH, base::SysUTF8ToWide(INPUT_CONTENTS)); 1420 0, CONTENTS_LENGTH, base::SysUTF8ToWide(INPUT_CONTENTS));
1421 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_CARET, IA2_TEXT_BOUNDARY_LINE, 1421 CheckTextAtOffset(input_text, IA2_TEXT_OFFSET_CARET, IA2_TEXT_BOUNDARY_LINE,
1422 0, CONTENTS_LENGTH, base::SysUTF8ToWide(INPUT_CONTENTS)); 1422 0, CONTENTS_LENGTH, base::SysUTF8ToWide(INPUT_CONTENTS));
1423 } 1423 }
1424 1424
1425 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, 1425 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest,
1426 DISABLED_TestMultiLineTextAtOffsetWithBoundaryLine) { 1426 TestMultiLineTextAtOffsetWithBoundaryLine) {
1427 base::win::ScopedComPtr<IAccessibleText> textarea_text; 1427 base::win::ScopedComPtr<IAccessibleText> textarea_text;
1428 SetUpTextareaField(&textarea_text); 1428 SetUpTextareaField(&textarea_text);
1429 1429
1430 CheckTextAtOffset(textarea_text, 0, IA2_TEXT_BOUNDARY_LINE, 1430 CheckTextAtOffset(textarea_text, 0, IA2_TEXT_BOUNDARY_LINE,
1431 0, 24, L"Moz/5.0 (ST 6.x; WWW33)\n"); 1431 0, 24, L"Moz/5.0 (ST 6.x; WWW33)\n");
1432 1432
1433 // If the offset is at the newline, return the line preceding it. 1433 // If the offset is at the newline, return the line preceding it.
1434 CheckTextAtOffset(textarea_text, 31, IA2_TEXT_BOUNDARY_LINE, 1434 CheckTextAtOffset(textarea_text, 31, IA2_TEXT_BOUNDARY_LINE,
1435 24, 32, L"WebKit \n"); 1435 24, 32, L"WebKit \n");
1436 1436
(...skipping 24 matching lines...) Expand all
1461 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, 1461 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest,
1462 TestMultiLineTextAtOffsetWithBoundaryAll) { 1462 TestMultiLineTextAtOffsetWithBoundaryAll) {
1463 base::win::ScopedComPtr<IAccessibleText> textarea_text; 1463 base::win::ScopedComPtr<IAccessibleText> textarea_text;
1464 SetUpTextareaField(&textarea_text); 1464 SetUpTextareaField(&textarea_text);
1465 1465
1466 CheckTextAtOffset(textarea_text, CONTENTS_LENGTH - 1, IA2_TEXT_BOUNDARY_ALL, 1466 CheckTextAtOffset(textarea_text, CONTENTS_LENGTH - 1, IA2_TEXT_BOUNDARY_ALL,
1467 0, CONTENTS_LENGTH, base::SysUTF8ToWide(TEXTAREA_CONTENTS)); 1467 0, CONTENTS_LENGTH, base::SysUTF8ToWide(TEXTAREA_CONTENTS));
1468 } 1468 }
1469 1469
1470 } // namespace content 1470 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/accessibility/browser_accessibility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698