// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/common/spellcheck_common.h" #include "base/command_line.h" #include "base/metrics/field_trial.h" #include "chrome/common/chrome_switches.h" #include "components/variations/entropy_provider.h" #include "testing/gtest/include/gtest/gtest.h" namespace { using chrome::spellcheck_common::IsMultilingualSpellcheckEnabled; using chrome::spellcheck_common::kMultilingualSpellcheckFieldTrial; TEST(SpellcheckCommonTest, MultilingualByDefault) { EXPECT_TRUE(IsMultilingualSpellcheckEnabled()); } TEST(SpellcheckCommonTest, CanDisableMultlingualInFieldTrial) { base::FieldTrialList trials(new metrics::SHA1EntropyProvider("foo")); scoped_refptr trial = base::FieldTrialList::CreateFieldTrial(kMultilingualSpellcheckFieldTrial, "Disabled"); trial->group(); EXPECT_FALSE(IsMultilingualSpellcheckEnabled()); } TEST(SpellcheckCommonTest, CanDisableMultlingualFromCommandLine) { base::CommandLine::ForCurrentProcess()->AppendSwitch( switches::kDisableMultilingualSpellChecker); EXPECT_FALSE(IsMultilingualSpellcheckEnabled()); } TEST(SpellcheckCommonTest, CanForceMultlingualFromCommandLine) { base::FieldTrialList trials(new metrics::SHA1EntropyProvider("foo")); scoped_refptr trial = base::FieldTrialList::CreateFieldTrial(kMultilingualSpellcheckFieldTrial, "Disabled"); trial->group(); base::CommandLine::ForCurrentProcess()->AppendSwitch( switches::kEnableMultilingualSpellChecker); EXPECT_TRUE(IsMultilingualSpellcheckEnabled()); } } // namespace