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

Side by Side Diff: chrome/browser/spellcheck_unittest.cc

Issue 160565: Adds support for the os x spelling panel to chromium. Users can... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/renderer_host/resource_message_filter.cc ('k') | chrome/browser/spellchecker.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "webkit/glue/webkit_glue.h" 5 #include "webkit/glue/webkit_glue.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/sys_string_conversions.h"
10 #include "chrome/browser/spellchecker.h" 11 #include "chrome/browser/spellchecker.h"
12 #include "chrome/browser/spellchecker_platform_engine.h"
11 #include "chrome/common/chrome_paths.h" 13 #include "chrome/common/chrome_paths.h"
12 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
13 15
14 namespace { 16 namespace {
15 const FilePath::CharType kTempCustomDictionaryFile[] = 17 const FilePath::CharType kTempCustomDictionaryFile[] =
16 FILE_PATH_LITERAL("temp_custom_dictionary.txt"); 18 FILE_PATH_LITERAL("temp_custom_dictionary.txt");
17 } // namespace 19 } // namespace
18 20
19 class SpellCheckTest : public testing::Test { 21 class SpellCheckTest : public testing::Test {
20 private: 22 private:
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 275
274 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) { 276 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
275 size_t input_length = 0; 277 size_t input_length = 0;
276 if (kTestCases[i].input != NULL) { 278 if (kTestCases[i].input != NULL) {
277 input_length = wcslen(kTestCases[i].input); 279 input_length = wcslen(kTestCases[i].input);
278 } 280 }
279 int misspelling_start; 281 int misspelling_start;
280 int misspelling_length; 282 int misspelling_length;
281 bool result = spell_checker->SpellCheckWord(kTestCases[i].input, 283 bool result = spell_checker->SpellCheckWord(kTestCases[i].input,
282 static_cast<int>(input_length), 284 static_cast<int>(input_length),
285 0,
283 &misspelling_start, 286 &misspelling_start,
284 &misspelling_length, NULL); 287 &misspelling_length, NULL);
285 288
286 EXPECT_EQ(kTestCases[i].expected_result, result); 289 EXPECT_EQ(kTestCases[i].expected_result, result);
287 EXPECT_EQ(kTestCases[i].misspelling_start, misspelling_start); 290 EXPECT_EQ(kTestCases[i].misspelling_start, misspelling_start);
288 EXPECT_EQ(kTestCases[i].misspelling_length, misspelling_length); 291 EXPECT_EQ(kTestCases[i].misspelling_length, misspelling_length);
289 } 292 }
290 } 293 }
291 294
292 295
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 {L"changable", false, 0,0,L"changeable"}, 373 {L"changable", false, 0,0,L"changeable"},
371 {L"cheif", false, 0,0,L"chief"}, 374 {L"cheif", false, 0,0,L"chief"},
372 {L"citezen", false, 0,0,L"citizen"}, 375 {L"citezen", false, 0,0,L"citizen"},
373 {L"collaegue", false, 0,0,L"colleague"}, 376 {L"collaegue", false, 0,0,L"colleague"},
374 {L"colum", false, 0,0,L"column"}, 377 {L"colum", false, 0,0,L"column"},
375 {L"comming", false, 0,0,L"coming"}, 378 {L"comming", false, 0,0,L"coming"},
376 {L"commited", false, 0,0,L"committed"}, 379 {L"commited", false, 0,0,L"committed"},
377 {L"compitition", false, 0,0,L"competition"}, 380 {L"compitition", false, 0,0,L"competition"},
378 {L"conceed", false, 0,0,L"concede"}, 381 {L"conceed", false, 0,0,L"concede"},
379 {L"congradulate", false, 0,0,L"congratulate"}, 382 {L"congradulate", false, 0,0,L"congratulate"},
380 // TODO(pwicks): This fails as a result of 13432. 383 {L"consciencious", false, 0, 0, L"conscientious"},
381 // Once that is fixed, uncomment this.
382 // {L"consciencious", false, 0,0,L"conscientious"},
383 {L"concious", false, 0,0,L"conscious"}, 384 {L"concious", false, 0,0,L"conscious"},
384 {L"concensus", false, 0,0,L"consensus"}, 385 {L"concensus", false, 0,0,L"consensus"},
385 {L"contraversy", false, 0,0,L"controversy"}, 386 {L"contraversy", false, 0,0,L"controversy"},
386 {L"conveniance", false, 0,0,L"convenience"}, 387 {L"conveniance", false, 0,0,L"convenience"},
387 {L"critecize", false, 0,0,L"criticize"}, 388 {L"critecize", false, 0,0,L"criticize"},
388 {L"dacquiri", false, 0,0,L"daiquiri"}, 389 {L"dacquiri", false, 0,0,L"daiquiri"},
389 {L"decieve", false, 0,0,L"deceive"}, 390 {L"decieve", false, 0,0,L"deceive"},
390 {L"dicide", false, 0,0,L"decide"}, 391 {L"dicide", false, 0,0,L"decide"},
391 {L"definate", false, 0,0,L"definite"}, 392 {L"definate", false, 0,0,L"definite"},
392 {L"definitly", false, 0,0,L"definitely"}, 393 {L"definitly", false, 0,0,L"definitely"},
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 {L"hygene", false, 0,0,L"hygiene"}, 446 {L"hygene", false, 0,0,L"hygiene"},
446 {L"hipocrit", false, 0,0,L"hypocrite"}, 447 {L"hipocrit", false, 0,0,L"hypocrite"},
447 {L"idenity", false, 0,0,L"identity"}, 448 {L"idenity", false, 0,0,L"identity"},
448 {L"ignorence", false, 0,0,L"ignorance"}, 449 {L"ignorence", false, 0,0,L"ignorance"},
449 {L"imaginery", false, 0,0,L"imaginary"}, 450 {L"imaginery", false, 0,0,L"imaginary"},
450 {L"immitate", false, 0,0,L"imitate"}, 451 {L"immitate", false, 0,0,L"imitate"},
451 {L"immitation", false, 0,0,L"imitation"}, 452 {L"immitation", false, 0,0,L"imitation"},
452 {L"imediately", false, 0,0,L"immediately"}, 453 {L"imediately", false, 0,0,L"immediately"},
453 {L"incidently", false, 0,0,L"incidentally"}, 454 {L"incidently", false, 0,0,L"incidentally"},
454 {L"independant", false, 0,0,L"independent"}, 455 {L"independant", false, 0,0,L"independent"},
455 // TODO(pwicks): This fails as a result of 13432. 456 {L"indispensible", false, 0, 0, L"indispensable"},
456 // Once that is fixed, uncomment this.
457 // {L"indispensible", false, 0,0,L"indispensable"},
458 {L"innoculate", false, 0,0,L"inoculate"}, 457 {L"innoculate", false, 0,0,L"inoculate"},
459 {L"inteligence", false, 0,0,L"intelligence"}, 458 {L"inteligence", false, 0,0,L"intelligence"},
460 {L"intresting", false, 0,0,L"interesting"}, 459 {L"intresting", false, 0,0,L"interesting"},
461 {L"interuption", false, 0,0,L"interruption"}, 460 {L"interuption", false, 0,0,L"interruption"},
462 {L"irrelevent", false, 0,0,L"irrelevant"}, 461 {L"irrelevent", false, 0,0,L"irrelevant"},
463 {L"irritible", false, 0,0,L"irritable"}, 462 {L"irritible", false, 0,0,L"irritable"},
464 {L"iland", false, 0,0,L"island"}, 463 {L"iland", false, 0,0,L"island"},
465 {L"jellous", false, 0,0,L"jealous"}, 464 {L"jellous", false, 0,0,L"jealous"},
466 {L"knowlege", false, 0,0,L"knowledge"}, 465 {L"knowlege", false, 0,0,L"knowledge"},
467 {L"labratory", false, 0,0,L"laboratory"}, 466 {L"labratory", false, 0,0,L"laboratory"},
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 {L"practicle", false, 0,0,L"practical"}, 525 {L"practicle", false, 0,0,L"practical"},
527 {L"preceed", false, 0,0,L"precede"}, 526 {L"preceed", false, 0,0,L"precede"},
528 {L"predjudice", false, 0,0,L"prejudice"}, 527 {L"predjudice", false, 0,0,L"prejudice"},
529 {L"presance", false, 0,0,L"presence"}, 528 {L"presance", false, 0,0,L"presence"},
530 {L"privelege", false, 0,0,L"privilege"}, 529 {L"privelege", false, 0,0,L"privilege"},
531 // This one should probably work. It does in FF and Hunspell. 530 // This one should probably work. It does in FF and Hunspell.
532 // {L"probly", false, 0,0,L"probably"}, 531 // {L"probly", false, 0,0,L"probably"},
533 {L"proffesional", false, 0,0,L"professional"}, 532 {L"proffesional", false, 0,0,L"professional"},
534 {L"professer", false, 0,0,L"professor"}, 533 {L"professer", false, 0,0,L"professor"},
535 {L"promiss", false, 0,0,L"promise"}, 534 {L"promiss", false, 0,0,L"promise"},
536 // TODO(pwicks): This fails as a result of 13432. 535 {L"pronounciation", false, 0, 0, L"pronunciation"},
537 // Once that is fixed, uncomment this.
538 // {L"pronounciation", false, 0,0,L"pronunciation"},
539 {L"prufe", false, 0,0,L"proof"}, 536 {L"prufe", false, 0,0,L"proof"},
540 {L"psycology", false, 0,0,L"psychology"}, 537 {L"psycology", false, 0,0,L"psychology"},
541 {L"publically", false, 0,0,L"publicly"}, 538 {L"publically", false, 0,0,L"publicly"},
542 {L"quanity", false, 0,0,L"quantity"}, 539 {L"quanity", false, 0,0,L"quantity"},
543 {L"quarentine", false, 0,0,L"quarantine"}, 540 {L"quarentine", false, 0,0,L"quarantine"},
544 {L"questionaire", false, 0,0,L"questionnaire"}, 541 {L"questionaire", false, 0,0,L"questionnaire"},
545 {L"readible", false, 0,0,L"readable"}, 542 {L"readible", false, 0,0,L"readable"},
546 {L"realy", false, 0,0,L"really"}, 543 {L"realy", false, 0,0,L"really"},
547 {L"recieve", false, 0,0,L"receive"}, 544 {L"recieve", false, 0,0,L"receive"},
548 {L"reciept", false, 0,0,L"receipt"}, 545 {L"reciept", false, 0,0,L"receipt"},
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) { 621 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
625 std::vector<std::wstring> suggestions; 622 std::vector<std::wstring> suggestions;
626 size_t input_length = 0; 623 size_t input_length = 0;
627 if (kTestCases[i].input != NULL) { 624 if (kTestCases[i].input != NULL) {
628 input_length = wcslen(kTestCases[i].input); 625 input_length = wcslen(kTestCases[i].input);
629 } 626 }
630 int misspelling_start; 627 int misspelling_start;
631 int misspelling_length; 628 int misspelling_length;
632 bool result = spell_checker->SpellCheckWord(kTestCases[i].input, 629 bool result = spell_checker->SpellCheckWord(kTestCases[i].input,
633 static_cast<int>(input_length), 630 static_cast<int>(input_length),
631 0,
634 &misspelling_start, 632 &misspelling_start,
635 &misspelling_length, 633 &misspelling_length,
636 &suggestions); 634 &suggestions);
637 635
638 // Check for spelling. 636 // Check for spelling.
639 EXPECT_EQ(kTestCases[i].expected_result, result); 637 EXPECT_EQ(kTestCases[i].expected_result, result);
640 638
641 // Check if the suggested words occur. 639 // Check if the suggested words occur.
642 bool suggested_word_is_present = false; 640 bool suggested_word_is_present = false;
643 for (int j=0; j < static_cast<int>(suggestions.size()); j++) { 641 for (int j=0; j < static_cast<int>(suggestions.size()); j++) {
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 hunspell_directory, kTestCases[i].language, NULL, FilePath())); 890 hunspell_directory, kTestCases[i].language, NULL, FilePath()));
893 891
894 size_t input_length = 0; 892 size_t input_length = 0;
895 if (kTestCases[i].input != NULL) 893 if (kTestCases[i].input != NULL)
896 input_length = wcslen(kTestCases[i].input); 894 input_length = wcslen(kTestCases[i].input);
897 895
898 int misspelling_start = 0; 896 int misspelling_start = 0;
899 int misspelling_length = 0; 897 int misspelling_length = 0;
900 bool result = spell_checker->SpellCheckWord(kTestCases[i].input, 898 bool result = spell_checker->SpellCheckWord(kTestCases[i].input,
901 static_cast<int>(input_length), 899 static_cast<int>(input_length),
900 0,
902 &misspelling_start, 901 &misspelling_start,
903 &misspelling_length, NULL); 902 &misspelling_length, NULL);
904 903
905 EXPECT_EQ(true, result) << kTestCases[i].language; 904 EXPECT_EQ(true, result) << kTestCases[i].language;
906 EXPECT_EQ(0, misspelling_start); 905 EXPECT_EQ(0, misspelling_start);
907 EXPECT_EQ(0, misspelling_length); 906 EXPECT_EQ(0, misspelling_length);
908 } 907 }
909 } 908 }
910 909
911 // This test Adds words to the SpellChecker and veifies that it remembers them. 910 // This test Adds words to the SpellChecker and veifies that it remembers them.
(...skipping 21 matching lines...) Expand all
933 // Now check whether it is added to Spellchecker. 932 // Now check whether it is added to Spellchecker.
934 std::vector<std::wstring> suggestions; 933 std::vector<std::wstring> suggestions;
935 size_t input_length = 0; 934 size_t input_length = 0;
936 if (kTestCases[i].word_to_add != NULL) { 935 if (kTestCases[i].word_to_add != NULL) {
937 input_length = wcslen(kTestCases[i].word_to_add); 936 input_length = wcslen(kTestCases[i].word_to_add);
938 } 937 }
939 int misspelling_start; 938 int misspelling_start;
940 int misspelling_length; 939 int misspelling_length;
941 bool result = spell_checker->SpellCheckWord(kTestCases[i].word_to_add, 940 bool result = spell_checker->SpellCheckWord(kTestCases[i].word_to_add,
942 static_cast<int>(input_length), 941 static_cast<int>(input_length),
942 0,
943 &misspelling_start, 943 &misspelling_start,
944 &misspelling_length, 944 &misspelling_length,
945 &suggestions); 945 &suggestions);
946 946
947 // Check for spelling. 947 // Check for spelling.
948 EXPECT_TRUE(result); 948 EXPECT_TRUE(result);
949 } 949 }
950 950
951 // Now initialize another spellchecker to see that AddToWord is permanent. 951 // Now initialize another spellchecker to see that AddToWord is permanent.
952 scoped_refptr<SpellChecker> spell_checker_new(new SpellChecker( 952 scoped_refptr<SpellChecker> spell_checker_new(new SpellChecker(
953 hunspell_directory, "en-US", NULL, custom_dictionary_file)); 953 hunspell_directory, "en-US", NULL, custom_dictionary_file));
954 954
955 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) { 955 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
956 // Now check whether it is added to Spellchecker. 956 // Now check whether it is added to Spellchecker.
957 std::vector<std::wstring> suggestions; 957 std::vector<std::wstring> suggestions;
958 size_t input_length = 0; 958 size_t input_length = 0;
959 if (kTestCases[i].word_to_add != NULL) { 959 if (kTestCases[i].word_to_add != NULL) {
960 input_length = wcslen(kTestCases[i].word_to_add); 960 input_length = wcslen(kTestCases[i].word_to_add);
961 } 961 }
962 int misspelling_start; 962 int misspelling_start;
963 int misspelling_length; 963 int misspelling_length;
964 bool result = spell_checker_new->SpellCheckWord( 964 bool result = spell_checker_new->SpellCheckWord(
965 kTestCases[i].word_to_add, 965 kTestCases[i].word_to_add,
966 static_cast<int>(input_length), 966 static_cast<int>(input_length),
967 0,
967 &misspelling_start, 968 &misspelling_start,
968 &misspelling_length, 969 &misspelling_length,
969 &suggestions); 970 &suggestions);
970 971
971 // Check for spelling. 972 // Check for spelling.
972 EXPECT_TRUE(result); 973 EXPECT_TRUE(result);
973 } 974 }
974 975
975 // Remove the temp custom dictionary file. 976 // Remove the temp custom dictionary file.
976 file_util::Delete(custom_dictionary_file, false); 977 file_util::Delete(custom_dictionary_file, false);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCasesToBeTested); ++i) { 1024 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCasesToBeTested); ++i) {
1024 std::vector<std::wstring> suggestions; 1025 std::vector<std::wstring> suggestions;
1025 size_t input_length = 0; 1026 size_t input_length = 0;
1026 if (kTestCasesToBeTested[i].input != NULL) { 1027 if (kTestCasesToBeTested[i].input != NULL) {
1027 input_length = wcslen(kTestCasesToBeTested[i].input); 1028 input_length = wcslen(kTestCasesToBeTested[i].input);
1028 } 1029 }
1029 int misspelling_start; 1030 int misspelling_start;
1030 int misspelling_length; 1031 int misspelling_length;
1031 bool result = spell_checker->SpellCheckWord(kTestCasesToBeTested[i].input, 1032 bool result = spell_checker->SpellCheckWord(kTestCasesToBeTested[i].input,
1032 static_cast<int>(input_length), 1033 static_cast<int>(input_length),
1034 0,
1033 &misspelling_start, 1035 &misspelling_start,
1034 &misspelling_length, 1036 &misspelling_length,
1035 &suggestions); 1037 &suggestions);
1036 1038
1037 // Check for spelling. 1039 // Check for spelling.
1038 EXPECT_EQ(result, kTestCasesToBeTested[i].expected_result); 1040 EXPECT_EQ(result, kTestCasesToBeTested[i].expected_result);
1039 1041
1040 // Check if the suggested words occur. 1042 // Check if the suggested words occur.
1041 bool suggested_word_is_present = false; 1043 bool suggested_word_is_present = false;
1042 for (int j=0; j < static_cast<int>(suggestions.size()); j++) { 1044 for (int j=0; j < static_cast<int>(suggestions.size()); j++) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 ASSERT_FALSE(hunspell_directory.empty()); 1076 ASSERT_FALSE(hunspell_directory.empty());
1075 1077
1076 scoped_refptr<SpellChecker> spell_checker(new SpellChecker( 1078 scoped_refptr<SpellChecker> spell_checker(new SpellChecker(
1077 hunspell_directory, "en-US", NULL, FilePath())); 1079 hunspell_directory, "en-US", NULL, FilePath()));
1078 spell_checker->EnableAutoSpellCorrect(true); 1080 spell_checker->EnableAutoSpellCorrect(true);
1079 1081
1080 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) { 1082 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
1081 std::wstring misspelled_word(kTestCases[i].input); 1083 std::wstring misspelled_word(kTestCases[i].input);
1082 std::wstring expected_autocorrect_word(kTestCases[i].expected_result); 1084 std::wstring expected_autocorrect_word(kTestCases[i].expected_result);
1083 std::wstring autocorrect_word; 1085 std::wstring autocorrect_word;
1084 spell_checker->GetAutoCorrectionWord(misspelled_word, &autocorrect_word); 1086 spell_checker->GetAutoCorrectionWord(misspelled_word, 0, &autocorrect_word);
1085 1087
1086 // Check for spelling. 1088 // Check for spelling.
1087 EXPECT_EQ(expected_autocorrect_word, autocorrect_word); 1089 EXPECT_EQ(expected_autocorrect_word, autocorrect_word);
1088 } 1090 }
1089 } 1091 }
1092
1093 #if defined(OS_MACOSX)
1094 // Tests that words are properly ignored. Currently only enabled on OS X as it
1095 // is the only platform to support ignoring words. Note that in this test, we
1096 // supply a non-zero doc_tag, in order to test that ignored words are matched to
1097 // the correct document.
1098 TEST_F(SpellCheckTest, IgnoreWords_EN_US) {
1099 static const struct {
1100 // A misspelled word.
1101 const wchar_t* input;
1102 bool input_result;
1103 } kTestCases[] = {
1104 {L"teh",false},
1105 {L"moer", false},
1106 {L"watre",false},
1107 {L"noen", false},
1108 };
1109
1110 FilePath hunspell_directory = GetHunspellDirectory();
1111 ASSERT_FALSE(hunspell_directory.empty());
1112
1113 scoped_refptr<SpellChecker> spell_checker(new SpellChecker(
1114 hunspell_directory, "en-US", NULL, FilePath()));
1115
1116 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestCases); ++i) {
1117 std::wstring word(kTestCases[i].input);
1118 std::string misspelled_word = base::SysWideToUTF8(word);
1119 std::vector<std::wstring> suggestions;
1120 size_t input_length = 0;
1121 if (kTestCases[i].input != NULL) {
1122 input_length = wcslen(kTestCases[i].input);
1123 }
1124 int misspelling_start;
1125 int misspelling_length;
1126
1127 int doc_tag = SpellCheckerPlatform::GetDocumentTag();
1128 bool result = spell_checker->SpellCheckWord(kTestCases[i].input,
1129 static_cast<int>(input_length),
1130 doc_tag,
1131 &misspelling_start,
1132 &misspelling_length,
1133 &suggestions);
1134
1135 // The word should show up as misspelled.
1136 EXPECT_EQ(kTestCases[i].input_result, result);
1137
1138 // Ignore the word.
1139 SpellCheckerPlatform::IgnoreWord(misspelled_word);
1140
1141 // Spellcheck again.
1142 result = spell_checker->SpellCheckWord(kTestCases[i].input,
1143 static_cast<int>(input_length),
1144 doc_tag,
1145 &misspelling_start,
1146 &misspelling_length,
1147 &suggestions);
1148
1149 // The word should now show up as correctly spelled.
1150 EXPECT_EQ(!(kTestCases[i].input_result), result);
1151
1152 // Close the docuemnt. Any words that we had previously ignored should no
1153 // longer be ignored and thus should show up as misspelled.
1154 SpellCheckerPlatform::CloseDocumentWithTag(doc_tag);
1155
1156 // Spellcheck one more time.
1157 result = spell_checker->SpellCheckWord(kTestCases[i].input,
1158 static_cast<int>(input_length),
1159 doc_tag,
1160 &misspelling_start,
1161 &misspelling_length,
1162 &suggestions);
1163
1164 // The word should now show be spelled wrong again
1165 EXPECT_EQ(kTestCases[i].input_result, result);
1166 }
1167 } // Test IgnoreWords_EN_US
1168 #endif // OS_MACOSX
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/resource_message_filter.cc ('k') | chrome/browser/spellchecker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698