OLD | NEW |
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 <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 | 342 |
343 // For locales supported by the SpellCheck service, this function returns | 343 // For locales supported by the SpellCheck service, this function returns |
344 // false for suggestions and true for spellcheck. (The comment in | 344 // false for suggestions and true for spellcheck. (The comment in |
345 // SpellingServiceClient::IsAvailable() describes why this function returns | 345 // SpellingServiceClient::IsAvailable() describes why this function returns |
346 // false for suggestions.) If there is no language set, then we | 346 // false for suggestions.) If there is no language set, then we |
347 // do not allow any remote. | 347 // do not allow any remote. |
348 pref->SetString(prefs::kSpellCheckDictionary, std::string()); | 348 pref->SetString(prefs::kSpellCheckDictionary, std::string()); |
349 EXPECT_FALSE(client_.IsAvailable(&profile_, kSuggest)); | 349 EXPECT_FALSE(client_.IsAvailable(&profile_, kSuggest)); |
350 EXPECT_FALSE(client_.IsAvailable(&profile_, kSpellcheck)); | 350 EXPECT_FALSE(client_.IsAvailable(&profile_, kSpellcheck)); |
351 | 351 |
| 352 #if !defined(OS_MACOSX) |
352 static const char* kSupported[] = { | 353 static const char* kSupported[] = { |
353 #if !defined(OS_MACOSX) | |
354 "en-AU", "en-CA", "en-GB", "en-US", | 354 "en-AU", "en-CA", "en-GB", "en-US", |
355 #endif | |
356 }; | 355 }; |
357 // If spellcheck is allowed, then suggest is not since spellcheck is a | 356 // If spellcheck is allowed, then suggest is not since spellcheck is a |
358 // superset of suggest. | 357 // superset of suggest. |
359 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kSupported); ++i) { | 358 for (size_t i = 0; i < arraysize(kSupported); ++i) { |
360 pref->SetString(prefs::kSpellCheckDictionary, kSupported[i]); | 359 pref->SetString(prefs::kSpellCheckDictionary, kSupported[i]); |
361 EXPECT_FALSE(client_.IsAvailable(&profile_, kSuggest)); | 360 EXPECT_FALSE(client_.IsAvailable(&profile_, kSuggest)); |
362 EXPECT_TRUE(client_.IsAvailable(&profile_, kSpellcheck)); | 361 EXPECT_TRUE(client_.IsAvailable(&profile_, kSpellcheck)); |
363 } | 362 } |
364 | 363 |
365 // This function returns true for suggestions for all and false for | 364 // This function returns true for suggestions for all and false for |
366 // spellcheck for unsupported locales. | 365 // spellcheck for unsupported locales. |
367 static const char* kUnsupported[] = { | 366 static const char* kUnsupported[] = { |
368 #if !defined(OS_MACOSX) | |
369 "af-ZA", "bg-BG", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "es-ES", | 367 "af-ZA", "bg-BG", "ca-ES", "cs-CZ", "da-DK", "de-DE", "el-GR", "es-ES", |
370 "et-EE", "fo-FO", "fr-FR", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", | 368 "et-EE", "fo-FO", "fr-FR", "he-IL", "hi-IN", "hr-HR", "hu-HU", "id-ID", |
371 "it-IT", "lt-LT", "lv-LV", "nb-NO", "nl-NL", "pl-PL", "pt-BR", "pt-PT", | 369 "it-IT", "lt-LT", "lv-LV", "nb-NO", "nl-NL", "pl-PL", "pt-BR", "pt-PT", |
372 "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sh", "sr", "sv-SE", "tr-TR", | 370 "ro-RO", "ru-RU", "sk-SK", "sl-SI", "sh", "sr", "sv-SE", "tr-TR", |
373 "uk-UA", "vi-VN", | 371 "uk-UA", "vi-VN", |
374 #endif | |
375 }; | 372 }; |
376 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kUnsupported); ++i) { | 373 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kUnsupported); ++i) { |
377 pref->SetString(prefs::kSpellCheckDictionary, kUnsupported[i]); | 374 pref->SetString(prefs::kSpellCheckDictionary, kUnsupported[i]); |
378 EXPECT_TRUE(client_.IsAvailable(&profile_, kSuggest)); | 375 EXPECT_TRUE(client_.IsAvailable(&profile_, kSuggest)); |
379 EXPECT_FALSE(client_.IsAvailable(&profile_, kSpellcheck)); | 376 EXPECT_FALSE(client_.IsAvailable(&profile_, kSpellcheck)); |
380 } | 377 } |
| 378 #endif // !defined(OS_MACOSX) |
381 } | 379 } |
382 | 380 |
383 // Verify that an error in JSON response from spelling service will result in | 381 // Verify that an error in JSON response from spelling service will result in |
384 // ParseResponse returning false. | 382 // ParseResponse returning false. |
385 TEST_F(SpellingServiceClientTest, ResponseErrorTest) { | 383 TEST_F(SpellingServiceClientTest, ResponseErrorTest) { |
386 EXPECT_TRUE(client_.ParseResponseSuccess("{\"result\": {}}")); | 384 EXPECT_TRUE(client_.ParseResponseSuccess("{\"result\": {}}")); |
387 EXPECT_FALSE(client_.ParseResponseSuccess("{\"error\": {}}")); | 385 EXPECT_FALSE(client_.ParseResponseSuccess("{\"error\": {}}")); |
388 } | 386 } |
OLD | NEW |