| // Copyright 2024 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ash/input_method/japanese/japanese_prefs.h" |
| |
| #include "chrome/common/pref_names.h" |
| #include "components/prefs/pref_registry_simple.h" |
| #include "components/prefs/testing_pref_service.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace ash::input_method { |
| namespace { |
| |
| using ::base::Value; |
| |
| TEST(JapanesePrefsTest, SetJpOptionsSourceAsPrefService) { |
| TestingPrefServiceSimple prefs; |
| prefs.registry()->RegisterDictionaryPref( |
| ::prefs::kLanguageInputMethodSpecificSettings); |
| |
| SetJpOptionsSourceAsPrefService(prefs); |
| |
| EXPECT_EQ(*prefs.GetUserPref(::prefs::kLanguageInputMethodSpecificSettings), |
| Value::Dict().Set( |
| "nacl_mozc_jp", |
| Value::Dict().Set("Metadata-OptionsSource", "PrefService"))); |
| } |
| |
| TEST(JapanesePrefsTest, SetJpOptionsSourceAsLegacyConfig) { |
| TestingPrefServiceSimple prefs; |
| prefs.registry()->RegisterDictionaryPref( |
| ::prefs::kLanguageInputMethodSpecificSettings); |
| |
| SetJpOptionsSourceAsLegacyConfig(prefs); |
| |
| EXPECT_EQ(*prefs.GetUserPref(::prefs::kLanguageInputMethodSpecificSettings), |
| Value::Dict().Set("nacl_mozc_jp", |
| Value::Dict().Set("Metadata-OptionsSource", |
| "LegacyConfig1Db"))); |
| } |
| |
| } // namespace |
| } // namespace ash::input_method |