| 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..b787d180b49d24ff741408b106a55018031adcf1 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,25 @@ 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());
|
| + EXPECT_EQ(1, table_view_->FirstSelectedRow());
|
| + EXPECT_EQ(base::ASCIIToUTF16("d"), table_model_->GetText(1, 0));
|
| +}
|
| +
|
| TEST_F(ChooserContentViewTest,
|
| AddAnOptionAndSelectItAndRemoveTheSelectedOption) {
|
| EXPECT_CALL(*mock_table_view_observer_, OnSelectionChanged()).Times(2);
|
|
|