summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/input_method/input_method_engine_unittest.cc
diff options
context:
space:
mode:
authorshuchen <shuchen@chromium.org>2014-09-17 22:03:07 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-18 05:03:18 +0000
commit0d95894f4e846d7352d9813cd34f43efdb6e1e4e (patch)
tree909f13378497177e9b5b0cc59f49cbf4356c5ced /chrome/browser/chromeos/input_method/input_method_engine_unittest.cc
parent9e5e3f4060f759384d224a44c41d3f4a328b86d8 (diff)
downloadchromium_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.cc68
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