| Index: chrome/browser/chromeos/input_method/input_method_engine_unittest.cc
|
| 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 31ce00355a52ac43b6214da39f7c9457ebb2ec44..e1bb13918d85eaeeb056cccbd20c379e729617c9 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.ExpectUniqueSample("InputMethod.CommitLength", 5, 1);
|
| + histograms.ExpectUniqueSample("InputMethod.CommitLength", 2, 1);
|
| + histograms.ExpectUniqueSample("InputMethod.CommitLength", 7, 1);
|
| }
|
|
|
| } // namespace input_method
|
|
|