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 |