diff options
author | shuchen <shuchen@chromium.org> | 2014-09-17 22:03:07 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-18 05:03:18 +0000 |
commit | 0d95894f4e846d7352d9813cd34f43efdb6e1e4e (patch) | |
tree | 909f13378497177e9b5b0cc59f49cbf4356c5ced /chrome/browser/chromeos/input_method/input_method_engine_unittest.cc | |
parent | 9e5e3f4060f759384d224a44c41d3f4a328b86d8 (diff) | |
download | chromium_src-0d95894f4e846d7352d9813cd34f43efdb6e1e4e.zip chromium_src-0d95894f4e846d7352d9813cd34f43efdb6e1e4e.tar.gz chromium_src-0d95894f4e846d7352d9813cd34f43efdb6e1e4e.tar.bz2 |
Updates the histograms for IMF and IMEs according to the new design.
BUG=367631
TEST=Verified on linux_chromeos.
Review URL: https://codereview.chromium.org/561223002
Cr-Commit-Position: refs/heads/master@{#295417}
Diffstat (limited to 'chrome/browser/chromeos/input_method/input_method_engine_unittest.cc')
-rw-r--r-- | chrome/browser/chromeos/input_method/input_method_engine_unittest.cc | 68 |
1 files changed, 13 insertions, 55 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_engine_unittest.cc b/chrome/browser/chromeos/input_method/input_method_engine_unittest.cc index 31ce003..5863571 100644 --- a/chrome/browser/chromeos/input_method/input_method_engine_unittest.cc +++ b/chrome/browser/chromeos/input_method/input_method_engine_unittest.cc @@ -6,6 +6,7 @@ #include "base/metrics/histogram.h" #include "base/metrics/histogram_samples.h" #include "base/metrics/statistics_recorder.h" +#include "base/test/histogram_tester.h" #include "chrome/browser/chromeos/input_method/input_method_configuration.h" #include "chrome/browser/chromeos/input_method/input_method_engine.h" #include "chrome/browser/chromeos/input_method/input_method_engine_interface.h" @@ -24,19 +25,6 @@ const char kTestExtensionId[] = "mppnpdlheglhdfmldimlhpnegondlapf"; const char kTestExtensionId2[] = "dmpipdbjkoajgdeppkffbjhngfckdloi"; const char kTestImeComponentId[] = "test_engine_id"; -const char* kHistogramNames[] = { - "InputMethod.Enable.test_engine_id", "InputMethod.Commit.test_engine_id", - "InputMethod.CommitCharacter.test_engine_id", -}; - -scoped_ptr<base::HistogramSamples> GetHistogramSamples( - const char* histogram_name) { - base::HistogramBase* histogram = - base::StatisticsRecorder::FindHistogram(histogram_name); - EXPECT_NE(static_cast<base::HistogramBase*>(NULL), histogram); - return histogram->SnapshotSamples().Pass(); -} - enum CallsBitmap { NONE = 0U, ACTIVATE = 1U, @@ -132,18 +120,6 @@ class InputMethodEngineTest : public testing::Test { mock_ime_input_context_handler_.reset(new MockIMEInputContextHandler()); IMEBridge::Get()->SetInputContextHandler( mock_ime_input_context_handler_.get()); - - base::StatisticsRecorder::Initialize(); - - for (size_t i = 0; i < arraysize(kHistogramNames); i++) { - base::Histogram::FactoryGet( - kHistogramNames[i], 0, 1000000, 50, base::HistogramBase::kNoFlags) - ->Add(0); - initial_histogram_samples_[i] = - GetHistogramSamples(kHistogramNames[i]).Pass(); - initial_histogram_samples_map_[kHistogramNames[i]] = - initial_histogram_samples_[i].get(); - } } virtual ~InputMethodEngineTest() { IMEBridge::Get()->SetInputContextHandler(NULL); @@ -152,25 +128,6 @@ class InputMethodEngineTest : public testing::Test { } protected: - scoped_ptr<base::HistogramSamples> GetHistogramSamplesDelta( - const char* histogram_name) { - scoped_ptr<base::HistogramSamples> delta_samples( - GetHistogramSamples(histogram_name)); - delta_samples->Subtract(*initial_histogram_samples_map_[histogram_name]); - - return delta_samples.Pass(); - } - - void ExpectNewSample(const char* histogram_name, - base::HistogramBase::Sample sample, - int total_count, - int sample_count) { - scoped_ptr<base::HistogramSamples> delta_samples( - GetHistogramSamplesDelta(histogram_name)); - EXPECT_EQ(total_count, delta_samples->TotalCount()); - EXPECT_EQ(sample_count, delta_samples->GetCount(sample)); - } - void CreateEngine(bool whitelisted) { engine_.reset(new InputMethodEngine()); observer_ = new TestObserver(); @@ -194,10 +151,6 @@ class InputMethodEngineTest : public testing::Test { GURL options_page_; GURL input_view_; - scoped_ptr<base::HistogramSamples> - initial_histogram_samples_[arraysize(kHistogramNames)]; - std::map<std::string, base::HistogramSamples*> initial_histogram_samples_map_; - scoped_ptr<MockIMEInputContextHandler> mock_ime_input_context_handler_; private: @@ -280,15 +233,20 @@ TEST_F(InputMethodEngineTest, TestHistograms) { CreateEngine(true); FocusIn(ui::TEXT_INPUT_TYPE_TEXT); engine_->Enable(kTestImeComponentId); + std::vector<InputMethodEngineInterface::SegmentInfo> segments; + engine_->SetComposition( + engine_->GetCotextIdForTesting(), "test", 0, 0, 0, segments, NULL); std::string error; - ExpectNewSample("InputMethod.Enable.test_engine_id", 1, 1, 1); + base::HistogramTester histograms; engine_->CommitText(1, "input", &error); - engine_->CommitText(1, "入力", &error); - engine_->CommitText(1, "input入力", &error); - ExpectNewSample("InputMethod.Commit.test_engine_id", 1, 3, 3); - ExpectNewSample("InputMethod.CommitCharacter.test_engine_id", 5, 3, 1); - ExpectNewSample("InputMethod.CommitCharacter.test_engine_id", 2, 3, 1); - ExpectNewSample("InputMethod.CommitCharacter.test_engine_id", 7, 3, 1); + engine_->CommitText(1, + "\xE5\x85\xA5\xE5\x8A\x9B", // 2 UTF-8 characters + &error); + engine_->CommitText(1, "input\xE5\x85\xA5\xE5\x8A\x9B", &error); + histograms.ExpectTotalCount("InputMethod.CommitLength", 3); + histograms.ExpectBucketCount("InputMethod.CommitLength", 5, 1); + histograms.ExpectBucketCount("InputMethod.CommitLength", 2, 1); + histograms.ExpectBucketCount("InputMethod.CommitLength", 7, 1); } } // namespace input_method |