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 "chrome/browser/chromeos/input_method/input_method_manager_impl.h" | 5 #include "chrome/browser/chromeos/input_method/input_method_manager_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 18 matching lines...) Expand all Loading... |
29 #include "ui/base/ime/chromeos/extension_ime_util.h" | 29 #include "ui/base/ime/chromeos/extension_ime_util.h" |
30 #include "ui/base/ime/chromeos/fake_ime_keyboard.h" | 30 #include "ui/base/ime/chromeos/fake_ime_keyboard.h" |
31 #include "ui/base/ime/chromeos/fake_input_method_delegate.h" | 31 #include "ui/base/ime/chromeos/fake_input_method_delegate.h" |
32 #include "ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h" | 32 #include "ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h" |
33 #include "ui/base/ime/chromeos/mock_ime_engine_handler.h" | 33 #include "ui/base/ime/chromeos/mock_ime_engine_handler.h" |
34 #include "ui/base/ime/ime_bridge.h" | 34 #include "ui/base/ime/ime_bridge.h" |
35 #include "ui/base/ime/input_method_initializer.h" | 35 #include "ui/base/ime/input_method_initializer.h" |
36 #include "ui/chromeos/ime/input_method_menu_item.h" | 36 #include "ui/chromeos/ime/input_method_menu_item.h" |
37 #include "ui/chromeos/ime/input_method_menu_manager.h" | 37 #include "ui/chromeos/ime/input_method_menu_manager.h" |
38 #include "ui/events/keycodes/keyboard_codes.h" | 38 #include "ui/events/keycodes/keyboard_codes.h" |
| 39 #include "ui/keyboard/content/keyboard_content_util.h" |
39 | 40 |
40 namespace chromeos { | 41 namespace chromeos { |
41 | 42 |
42 namespace input_method { | 43 namespace input_method { |
43 namespace { | 44 namespace { |
44 | 45 |
45 const char kNaclMozcUsId[] = "nacl_mozc_us"; | 46 const char kNaclMozcUsId[] = "nacl_mozc_us"; |
46 const char kNaclMozcJpId[] = "nacl_mozc_jp"; | 47 const char kNaclMozcJpId[] = "nacl_mozc_jp"; |
47 const char kExt2Engine1Id[] = "ext2_engine1-t-i0-engine_id"; | 48 const char kExt2Engine1Id[] = "ext2_engine1-t-i0-engine_id"; |
48 const char kExt2Engine2Id[] = "ext2_engine2-t-i0-engine_id"; | 49 const char kExt2Engine2Id[] = "ext2_engine2-t-i0-engine_id"; |
(...skipping 1353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1402 manager_->MigrateInputMethods(&input_method_ids); | 1403 manager_->MigrateInputMethods(&input_method_ids); |
1403 | 1404 |
1404 ASSERT_EQ(4U, input_method_ids.size()); | 1405 ASSERT_EQ(4U, input_method_ids.size()); |
1405 | 1406 |
1406 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]); | 1407 EXPECT_EQ(ImeIdFromEngineId("xkb:us::eng"), input_method_ids[0]); |
1407 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]); | 1408 EXPECT_EQ(ImeIdFromEngineId("xkb:fr::fra"), input_method_ids[1]); |
1408 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]); | 1409 EXPECT_EQ("_comp_ime_asdf_pinyin", input_method_ids[2]); |
1409 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]); | 1410 EXPECT_EQ(ImeIdFromEngineId("zh-t-i0-pinyin"), input_method_ids[3]); |
1410 } | 1411 } |
1411 | 1412 |
| 1413 TEST_F(InputMethodManagerImplTest, OverrideKeyboardUrlRefWithEmojiOrHwt) { |
| 1414 const GURL inputview_url( |
| 1415 "chrome-extension://" |
| 1416 "inputview.html#id=us.compact.qwerty&language=en-US&passwordLayout=us." |
| 1417 "compact.qwerty&name=keyboard_us"); |
| 1418 keyboard::SetOverrideContentUrl(inputview_url); |
| 1419 EXPECT_EQ(inputview_url, keyboard::GetOverrideContentUrl()); |
| 1420 |
| 1421 // Override the keyboard url ref with 'emoji'. |
| 1422 const GURL overridden_url_emoji( |
| 1423 "chrome-extension://" |
| 1424 "inputview.html#id=emoji&language=en-US&passwordLayout=us." |
| 1425 "compact.qwerty&name=keyboard_us"); |
| 1426 manager_->OverrideKeyboardUrlRef("emoji"); |
| 1427 EXPECT_EQ(overridden_url_emoji, keyboard::GetOverrideContentUrl()); |
| 1428 |
| 1429 // Override the keyboard url ref with 'hwt'. |
| 1430 const GURL overridden_url_hwt( |
| 1431 "chrome-extension://" |
| 1432 "inputview.html#id=hwt&language=en-US&passwordLayout=us." |
| 1433 "compact.qwerty&name=keyboard_us"); |
| 1434 manager_->OverrideKeyboardUrlRef("hwt"); |
| 1435 EXPECT_EQ(overridden_url_hwt, keyboard::GetOverrideContentUrl()); |
| 1436 } |
| 1437 |
| 1438 TEST_F(InputMethodManagerImplTest, OverrideKeyboardUrlRefWithVoice) { |
| 1439 const GURL inputview_url( |
| 1440 "chrome-extension://" |
| 1441 "inputview.html#id=us.compact.qwerty&language=en-US&passwordLayout=us." |
| 1442 "compact.qwerty&name=keyboard_us"); |
| 1443 keyboard::SetOverrideContentUrl(inputview_url); |
| 1444 EXPECT_EQ(inputview_url, keyboard::GetOverrideContentUrl()); |
| 1445 |
| 1446 // Override the keyboard url ref with 'voice'. |
| 1447 const GURL overridden_url_voice( |
| 1448 "chrome-extension://" |
| 1449 "inputview.html#id=us.compact.qwerty.voice&language=en-US" |
| 1450 "&passwordLayout=us.compact.qwerty&name=keyboard_us"); |
| 1451 manager_->OverrideKeyboardUrlRef("voice"); |
| 1452 EXPECT_EQ(overridden_url_voice, keyboard::GetOverrideContentUrl()); |
| 1453 } |
| 1454 |
| 1455 TEST_F(InputMethodManagerImplTest, OverrideDefaultKeyboardUrlRef) { |
| 1456 const GURL default_url("chrome://inputview.html"); |
| 1457 keyboard::SetOverrideContentUrl(default_url); |
| 1458 |
| 1459 EXPECT_EQ(default_url, keyboard::GetOverrideContentUrl()); |
| 1460 |
| 1461 manager_->OverrideKeyboardUrlRef("emoji"); |
| 1462 EXPECT_EQ(default_url, keyboard::GetOverrideContentUrl()); |
| 1463 } |
| 1464 |
1412 } // namespace input_method | 1465 } // namespace input_method |
1413 } // namespace chromeos | 1466 } // namespace chromeos |
OLD | NEW |