Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(803)

Unified Diff: ash/ime/candidate_window_view_unittest.cc

Issue 680383008: Move ash/ime to ui/chromeos/ime (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@athena_do_not_use_ash48_global_command
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/ime/candidate_window_view_unittest.cc
diff --git a/ash/ime/candidate_window_view_unittest.cc b/ash/ime/candidate_window_view_unittest.cc
deleted file mode 100644
index dd523b54061af2ff20d1298555a9ea1c5fcbb53a..0000000000000000000000000000000000000000
--- a/ash/ime/candidate_window_view_unittest.cc
+++ /dev/null
@@ -1,388 +0,0 @@
-// Copyright 2014 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 "ash/ime/candidate_window_view.h"
-
-#include <string>
-
-#include "ash/ime/candidate_view.h"
-#include "base/strings/stringprintf.h"
-#include "base/strings/utf_string_conversions.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/views/test/views_test_base.h"
-#include "ui/views/widget/widget.h"
-
-namespace ash {
-namespace ime {
-
-namespace {
-const char* kSampleCandidate[] = {
- "Sample Candidate 1",
- "Sample Candidate 2",
- "Sample Candidate 3"
-};
-const char* kSampleAnnotation[] = {
- "Sample Annotation 1",
- "Sample Annotation 2",
- "Sample Annotation 3"
-};
-const char* kSampleDescriptionTitle[] = {
- "Sample Description Title 1",
- "Sample Description Title 2",
- "Sample Description Title 3",
-};
-const char* kSampleDescriptionBody[] = {
- "Sample Description Body 1",
- "Sample Description Body 2",
- "Sample Description Body 3",
-};
-
-void InitCandidateWindow(size_t page_size,
- ui::CandidateWindow* candidate_window) {
- candidate_window->set_cursor_position(0);
- candidate_window->set_page_size(page_size);
- candidate_window->mutable_candidates()->clear();
- candidate_window->set_orientation(ui::CandidateWindow::VERTICAL);
-}
-
-void InitCandidateWindowWithCandidatesFilled(
- size_t page_size,
- ui::CandidateWindow* candidate_window) {
- InitCandidateWindow(page_size, candidate_window);
- for (size_t i = 0; i < page_size; ++i) {
- ui::CandidateWindow::Entry entry;
- entry.value = base::UTF8ToUTF16(base::StringPrintf(
- "value %lld", static_cast<unsigned long long>(i)));
- entry.label = base::UTF8ToUTF16(base::StringPrintf(
- "%lld", static_cast<unsigned long long>(i)));
- candidate_window->mutable_candidates()->push_back(entry);
- }
-}
-
-} // namespace
-
-class CandidateWindowViewTest : public views::ViewsTestBase {
- public:
- CandidateWindowViewTest() {}
- ~CandidateWindowViewTest() override {}
-
- protected:
- void SetUp() override {
- views::ViewsTestBase::SetUp();
- candidate_window_view_ = new CandidateWindowView(GetContext());
- candidate_window_view_->InitWidget();
- }
-
- CandidateWindowView* candidate_window_view() {
- return candidate_window_view_;
- }
-
- int selected_candidate_index_in_page() {
- return candidate_window_view_->selected_candidate_index_in_page_;
- }
-
- size_t GetCandidatesSize() const {
- return candidate_window_view_->candidate_views_.size();
- }
-
- CandidateView* GetCandidateAt(size_t i) {
- return candidate_window_view_->candidate_views_[i];
- }
-
- void SelectCandidateAt(int index_in_page) {
- candidate_window_view_->SelectCandidateAt(index_in_page);
- }
-
- void MaybeInitializeCandidateViews(
- const ui::CandidateWindow& candidate_window) {
- candidate_window_view_->MaybeInitializeCandidateViews(candidate_window);
- }
-
- void ExpectLabels(const std::string& shortcut,
- const std::string& candidate,
- const std::string& annotation,
- const CandidateView* row) {
- EXPECT_EQ(shortcut, base::UTF16ToUTF8(row->shortcut_label_->text()));
- EXPECT_EQ(candidate, base::UTF16ToUTF8(row->candidate_label_->text()));
- EXPECT_EQ(annotation, base::UTF16ToUTF8(row->annotation_label_->text()));
- }
-
- private:
- // owned by |parent_|.
- CandidateWindowView* candidate_window_view_;
-
- DISALLOW_COPY_AND_ASSIGN(CandidateWindowViewTest);
-};
-
-TEST_F(CandidateWindowViewTest, UpdateCandidatesTest_CursorVisibility) {
- // Visible (by default) cursor.
- ui::CandidateWindow candidate_window;
- const int candidate_window_size = 9;
- InitCandidateWindowWithCandidatesFilled(candidate_window_size,
- &candidate_window);
- candidate_window_view()->UpdateCandidates(candidate_window);
- EXPECT_EQ(0, selected_candidate_index_in_page());
-
- // Invisible cursor.
- candidate_window.set_is_cursor_visible(false);
- candidate_window_view()->UpdateCandidates(candidate_window);
- EXPECT_EQ(-1, selected_candidate_index_in_page());
-
- // Move the cursor to the end.
- candidate_window.set_cursor_position(candidate_window_size - 1);
- candidate_window_view()->UpdateCandidates(candidate_window);
- EXPECT_EQ(-1, selected_candidate_index_in_page());
-
- // Change the cursor to visible. The cursor must be at the end.
- candidate_window.set_is_cursor_visible(true);
- candidate_window_view()->UpdateCandidates(candidate_window);
- EXPECT_EQ(candidate_window_size - 1, selected_candidate_index_in_page());
-}
-
-TEST_F(CandidateWindowViewTest, SelectCandidateAtTest) {
- // Set 9 candidates.
- ui::CandidateWindow candidate_window_large;
- const int candidate_window_large_size = 9;
- InitCandidateWindowWithCandidatesFilled(candidate_window_large_size,
- &candidate_window_large);
- candidate_window_large.set_cursor_position(candidate_window_large_size - 1);
- candidate_window_view()->UpdateCandidates(candidate_window_large);
-
- // Select the last candidate.
- SelectCandidateAt(candidate_window_large_size - 1);
-
- // Reduce the number of candidates to 3.
- ui::CandidateWindow candidate_window_small;
- const int candidate_window_small_size = 3;
- InitCandidateWindowWithCandidatesFilled(candidate_window_small_size,
- &candidate_window_small);
- candidate_window_small.set_cursor_position(candidate_window_small_size - 1);
- // Make sure the test doesn't crash if the candidate window reduced
- // its size. (crbug.com/174163)
- candidate_window_view()->UpdateCandidates(candidate_window_small);
- SelectCandidateAt(candidate_window_small_size - 1);
-}
-
-TEST_F(CandidateWindowViewTest, ShortcutSettingTest) {
- const char* kEmptyLabel = "";
- const char* kCustomizedLabel[] = { "a", "s", "d" };
- const char* kExpectedHorizontalCustomizedLabel[] = { "a.", "s.", "d." };
-
- {
- SCOPED_TRACE("candidate_views allocation test");
- const size_t kMaxPageSize = 16;
- for (size_t i = 1; i < kMaxPageSize; ++i) {
- ui::CandidateWindow candidate_window;
- InitCandidateWindow(i, &candidate_window);
- candidate_window_view()->UpdateCandidates(candidate_window);
- EXPECT_EQ(i, GetCandidatesSize());
- }
- }
- {
- SCOPED_TRACE("Empty string for each labels expects empty labels(vertical)");
- const size_t kPageSize = 3;
- ui::CandidateWindow candidate_window;
- InitCandidateWindow(kPageSize, &candidate_window);
-
- candidate_window.set_orientation(ui::CandidateWindow::VERTICAL);
- for (size_t i = 0; i < kPageSize; ++i) {
- ui::CandidateWindow::Entry entry;
- entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
- entry.annotation = base::UTF8ToUTF16(kSampleAnnotation[i]);
- entry.description_title = base::UTF8ToUTF16(kSampleDescriptionTitle[i]);
- entry.description_body = base::UTF8ToUTF16(kSampleDescriptionBody[i]);
- entry.label = base::UTF8ToUTF16(kEmptyLabel);
- candidate_window.mutable_candidates()->push_back(entry);
- }
-
- candidate_window_view()->UpdateCandidates(candidate_window);
-
- ASSERT_EQ(kPageSize, GetCandidatesSize());
- for (size_t i = 0; i < kPageSize; ++i) {
- ExpectLabels(kEmptyLabel, kSampleCandidate[i], kSampleAnnotation[i],
- GetCandidateAt(i));
- }
- }
- {
- SCOPED_TRACE(
- "Empty string for each labels expect empty labels(horizontal)");
- const size_t kPageSize = 3;
- ui::CandidateWindow candidate_window;
- InitCandidateWindow(kPageSize, &candidate_window);
-
- candidate_window.set_orientation(ui::CandidateWindow::HORIZONTAL);
- for (size_t i = 0; i < kPageSize; ++i) {
- ui::CandidateWindow::Entry entry;
- entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
- entry.annotation = base::UTF8ToUTF16(kSampleAnnotation[i]);
- entry.description_title = base::UTF8ToUTF16(kSampleDescriptionTitle[i]);
- entry.description_body = base::UTF8ToUTF16(kSampleDescriptionBody[i]);
- entry.label = base::UTF8ToUTF16(kEmptyLabel);
- candidate_window.mutable_candidates()->push_back(entry);
- }
-
- candidate_window_view()->UpdateCandidates(candidate_window);
-
- ASSERT_EQ(kPageSize, GetCandidatesSize());
- // Confirm actual labels not containing ".".
- for (size_t i = 0; i < kPageSize; ++i) {
- ExpectLabels(kEmptyLabel, kSampleCandidate[i], kSampleAnnotation[i],
- GetCandidateAt(i));
- }
- }
- {
- SCOPED_TRACE("Vertical customized label case");
- const size_t kPageSize = 3;
- ui::CandidateWindow candidate_window;
- InitCandidateWindow(kPageSize, &candidate_window);
-
- candidate_window.set_orientation(ui::CandidateWindow::VERTICAL);
- for (size_t i = 0; i < kPageSize; ++i) {
- ui::CandidateWindow::Entry entry;
- entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
- entry.annotation = base::UTF8ToUTF16(kSampleAnnotation[i]);
- entry.description_title = base::UTF8ToUTF16(kSampleDescriptionTitle[i]);
- entry.description_body = base::UTF8ToUTF16(kSampleDescriptionBody[i]);
- entry.label = base::UTF8ToUTF16(kCustomizedLabel[i]);
- candidate_window.mutable_candidates()->push_back(entry);
- }
-
- candidate_window_view()->UpdateCandidates(candidate_window);
-
- ASSERT_EQ(kPageSize, GetCandidatesSize());
- // Confirm actual labels not containing ".".
- for (size_t i = 0; i < kPageSize; ++i) {
- ExpectLabels(kCustomizedLabel[i],
- kSampleCandidate[i],
- kSampleAnnotation[i],
- GetCandidateAt(i));
- }
- }
- {
- SCOPED_TRACE("Horizontal customized label case");
- const size_t kPageSize = 3;
- ui::CandidateWindow candidate_window;
- InitCandidateWindow(kPageSize, &candidate_window);
-
- candidate_window.set_orientation(ui::CandidateWindow::HORIZONTAL);
- for (size_t i = 0; i < kPageSize; ++i) {
- ui::CandidateWindow::Entry entry;
- entry.value = base::UTF8ToUTF16(kSampleCandidate[i]);
- entry.annotation = base::UTF8ToUTF16(kSampleAnnotation[i]);
- entry.description_title = base::UTF8ToUTF16(kSampleDescriptionTitle[i]);
- entry.description_body = base::UTF8ToUTF16(kSampleDescriptionBody[i]);
- entry.label = base::UTF8ToUTF16(kCustomizedLabel[i]);
- candidate_window.mutable_candidates()->push_back(entry);
- }
-
- candidate_window_view()->UpdateCandidates(candidate_window);
-
- ASSERT_EQ(kPageSize, GetCandidatesSize());
- // Confirm actual labels not containing ".".
- for (size_t i = 0; i < kPageSize; ++i) {
- ExpectLabels(kExpectedHorizontalCustomizedLabel[i],
- kSampleCandidate[i],
- kSampleAnnotation[i],
- GetCandidateAt(i));
- }
- }
-}
-
-TEST_F(CandidateWindowViewTest, DoNotChangeRowHeightWithLabelSwitchTest) {
- const size_t kPageSize = 10;
- ui::CandidateWindow candidate_window;
- ui::CandidateWindow no_shortcut_candidate_window;
-
- const base::string16 kSampleCandidate1 = base::UTF8ToUTF16(
- "Sample String 1");
- const base::string16 kSampleCandidate2 = base::UTF8ToUTF16(
- "\xE3\x81\x82"); // multi byte string.
- const base::string16 kSampleCandidate3 = base::UTF8ToUTF16(".....");
-
- const base::string16 kSampleShortcut1 = base::UTF8ToUTF16("1");
- const base::string16 kSampleShortcut2 = base::UTF8ToUTF16("b");
- const base::string16 kSampleShortcut3 = base::UTF8ToUTF16("C");
-
- const base::string16 kSampleAnnotation1 = base::UTF8ToUTF16(
- "Sample Annotation 1");
- const base::string16 kSampleAnnotation2 = base::UTF8ToUTF16(
- "\xE3\x81\x82"); // multi byte string.
- const base::string16 kSampleAnnotation3 = base::UTF8ToUTF16("......");
-
- // Create CandidateWindow object.
- InitCandidateWindow(kPageSize, &candidate_window);
-
- candidate_window.set_cursor_position(0);
- candidate_window.set_page_size(3);
- candidate_window.mutable_candidates()->clear();
- candidate_window.set_orientation(ui::CandidateWindow::VERTICAL);
- no_shortcut_candidate_window.CopyFrom(candidate_window);
-
- ui::CandidateWindow::Entry entry;
- entry.value = kSampleCandidate1;
- entry.annotation = kSampleAnnotation1;
- candidate_window.mutable_candidates()->push_back(entry);
- entry.label = kSampleShortcut1;
- no_shortcut_candidate_window.mutable_candidates()->push_back(entry);
-
- entry.value = kSampleCandidate2;
- entry.annotation = kSampleAnnotation2;
- candidate_window.mutable_candidates()->push_back(entry);
- entry.label = kSampleShortcut2;
- no_shortcut_candidate_window.mutable_candidates()->push_back(entry);
-
- entry.value = kSampleCandidate3;
- entry.annotation = kSampleAnnotation3;
- candidate_window.mutable_candidates()->push_back(entry);
- entry.label = kSampleShortcut3;
- no_shortcut_candidate_window.mutable_candidates()->push_back(entry);
-
- int before_height = 0;
-
- // Test for shortcut mode to no-shortcut mode.
- // Initialize with a shortcut mode candidate window.
- MaybeInitializeCandidateViews(candidate_window);
- ASSERT_EQ(3UL, GetCandidatesSize());
- // Check the selected index is invalidated.
- EXPECT_EQ(-1, selected_candidate_index_in_page());
- before_height =
- GetCandidateAt(0)->GetContentsBounds().height();
- // Checks all entry have same row height.
- for (size_t i = 1; i < GetCandidatesSize(); ++i)
- EXPECT_EQ(before_height, GetCandidateAt(i)->GetContentsBounds().height());
-
- // Initialize with a no shortcut mode candidate window.
- MaybeInitializeCandidateViews(no_shortcut_candidate_window);
- ASSERT_EQ(3UL, GetCandidatesSize());
- // Check the selected index is invalidated.
- EXPECT_EQ(-1, selected_candidate_index_in_page());
- EXPECT_EQ(before_height, GetCandidateAt(0)->GetContentsBounds().height());
- // Checks all entry have same row height.
- for (size_t i = 1; i < GetCandidatesSize(); ++i)
- EXPECT_EQ(before_height, GetCandidateAt(i)->GetContentsBounds().height());
-
- // Test for no-shortcut mode to shortcut mode.
- // Initialize with a no shortcut mode candidate window.
- MaybeInitializeCandidateViews(no_shortcut_candidate_window);
- ASSERT_EQ(3UL, GetCandidatesSize());
- // Check the selected index is invalidated.
- EXPECT_EQ(-1, selected_candidate_index_in_page());
- before_height = GetCandidateAt(0)->GetContentsBounds().height();
- // Checks all entry have same row height.
- for (size_t i = 1; i < GetCandidatesSize(); ++i)
- EXPECT_EQ(before_height, GetCandidateAt(i)->GetContentsBounds().height());
-
- // Initialize with a shortcut mode candidate window.
- MaybeInitializeCandidateViews(candidate_window);
- ASSERT_EQ(3UL, GetCandidatesSize());
- // Check the selected index is invalidated.
- EXPECT_EQ(-1, selected_candidate_index_in_page());
- EXPECT_EQ(before_height, GetCandidateAt(0)->GetContentsBounds().height());
- // Checks all entry have same row height.
- for (size_t i = 1; i < GetCandidatesSize(); ++i)
- EXPECT_EQ(before_height, GetCandidateAt(i)->GetContentsBounds().height());
-}
-
-} // namespace ime
-} // namespace ash
« no previous file with comments | « ash/ime/candidate_window_view.cc ('k') | ash/ime/infolist_window.h » ('j') | ui/base/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698