Chromium Code Reviews| Index: chrome/browser/ui/views/chooser_content_view_unittest.cc |
| diff --git a/chrome/browser/ui/views/chooser_content_view_unittest.cc b/chrome/browser/ui/views/chooser_content_view_unittest.cc |
| index d498b0476c6d4a79467567e54700bc99ecb9588c..9e782e05f290eae18e86397bc01f8bf8a16d9597 100644 |
| --- a/chrome/browser/ui/views/chooser_content_view_unittest.cc |
| +++ b/chrome/browser/ui/views/chooser_content_view_unittest.cc |
| @@ -163,6 +163,24 @@ TEST_F(ChooserContentViewTest, RemoveOption) { |
| EXPECT_EQ(-1, table_view_->FirstSelectedRow()); |
| } |
| +TEST_F(ChooserContentViewTest, UpdateOption) { |
| + EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(0); |
| + |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); |
| + |
| + mock_chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), |
| + base::ASCIIToUTF16("d")); |
| + EXPECT_EQ(3, table_view_->RowCount()); |
| + EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); |
| + EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0)); |
| + EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(2, 0)); |
| + EXPECT_TRUE(table_view_->enabled()); |
| + EXPECT_EQ(0, table_view_->SelectedRowCount()); |
| + EXPECT_EQ(-1, table_view_->FirstSelectedRow()); |
| +} |
| + |
| TEST_F(ChooserContentViewTest, AddAndRemoveOption) { |
| // Called from TableView::OnItemsRemoved(). |
| EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(3); |
| @@ -183,6 +201,26 @@ TEST_F(ChooserContentViewTest, AddAndRemoveOption) { |
| EXPECT_EQ(1, table_view_->RowCount()); |
| } |
| +TEST_F(ChooserContentViewTest, UpdateAndRemoveTheUpdatedOption) { |
| + // Called from TableView::OnItemsRemoved(). |
| + EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1); |
| + |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); |
| + |
| + mock_chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), |
| + base::ASCIIToUTF16("d")); |
| + mock_chooser_controller_->OptionRemoved(base::ASCIIToUTF16("d")); |
| + |
| + EXPECT_EQ(2, table_view_->RowCount()); |
| + EXPECT_EQ(base::ASCIIToUTF16("a"), table_model_->GetText(0, 0)); |
| + EXPECT_EQ(base::ASCIIToUTF16("c"), table_model_->GetText(1, 0)); |
| + EXPECT_TRUE(table_view_->enabled()); |
| + EXPECT_EQ(0, table_view_->SelectedRowCount()); |
| + EXPECT_EQ(-1, table_view_->FirstSelectedRow()); |
| +} |
| + |
| TEST_F(ChooserContentViewTest, SelectAndDeselectAnOption) { |
| EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(4); |
| @@ -283,6 +321,24 @@ TEST_F(ChooserContentViewTest, SelectAnOptionAndRemoveTheSelectedOption) { |
| EXPECT_EQ(-1, table_view_->FirstSelectedRow()); |
| } |
| +TEST_F(ChooserContentViewTest, SelectAnOptionAndUpdateTheSelectedOption) { |
| + EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(1); |
| + |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); |
| + mock_chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); |
| + |
| + // Select option 1. |
| + table_view_->Select(1); |
| + |
| + // Update option 1. |
| + mock_chooser_controller_->OptionUpdated(base::ASCIIToUTF16("b"), |
| + base::ASCIIToUTF16("d")); |
| + |
| + EXPECT_EQ(1, table_view_->SelectedRowCount()); |
|
msw
2016/08/12 22:19:34
ditto q: can you check that the selected item's na
juncai
2016/08/15 18:11:19
Done.
|
| + EXPECT_EQ(1, table_view_->FirstSelectedRow()); |
| +} |
| + |
| TEST_F(ChooserContentViewTest, |
| AddAnOptionAndSelectItAndRemoveTheSelectedOption) { |
| EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2); |