| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller.h" | 5 #import "chrome/browser/ui/cocoa/extensions/chooser_dialog_cocoa_controller.h" |
| 6 | 6 |
| 7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 ASSERT_FALSE(connect_button_.enabled); | 414 ASSERT_FALSE(connect_button_.enabled); |
| 415 ASSERT_TRUE(cancel_button_.enabled); | 415 ASSERT_TRUE(cancel_button_.enabled); |
| 416 | 416 |
| 417 chooser_controller_->OnAdapterPresenceChanged( | 417 chooser_controller_->OnAdapterPresenceChanged( |
| 418 content::BluetoothChooser::AdapterPresence::POWERED_ON); | 418 content::BluetoothChooser::AdapterPresence::POWERED_ON); |
| 419 EXPECT_EQ(0u, chooser_controller_->NumOptions()); | 419 EXPECT_EQ(0u, chooser_controller_->NumOptions()); |
| 420 ASSERT_FALSE(connect_button_.enabled); | 420 ASSERT_FALSE(connect_button_.enabled); |
| 421 ASSERT_TRUE(cancel_button_.enabled); | 421 ASSERT_TRUE(cancel_button_.enabled); |
| 422 } | 422 } |
| 423 | 423 |
| 424 TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndIdle) { | 424 TEST_F(ChooserDialogCocoaControllerTest, DiscoveringAndNoOptionAddedAndIdle) { |
| 425 CreateChooserDialog(); | 425 CreateChooserDialog(); |
| 426 | 426 |
| 427 // Add options | 427 // Add options |
| 428 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); | 428 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); |
| 429 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); | 429 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); |
| 430 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); | 430 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); |
| 431 EXPECT_FALSE(table_view_.hidden); | 431 EXPECT_FALSE(table_view_.hidden); |
| 432 ASSERT_TRUE(table_view_.enabled); | 432 ASSERT_TRUE(table_view_.enabled); |
| 433 EXPECT_EQ(3, table_view_.numberOfRows); | 433 EXPECT_EQ(3, table_view_.numberOfRows); |
| 434 // Select option 1. | 434 // Select option 1. |
| (...skipping 27 matching lines...) Expand all Loading... |
| 462 // No option selected. | 462 // No option selected. |
| 463 EXPECT_EQ(-1, table_view_.selectedRow); | 463 EXPECT_EQ(-1, table_view_.selectedRow); |
| 464 EXPECT_TRUE(spinner_.hidden); | 464 EXPECT_TRUE(spinner_.hidden); |
| 465 EXPECT_TRUE(status_.hidden); | 465 EXPECT_TRUE(status_.hidden); |
| 466 EXPECT_FALSE(rescan_button_.hidden); | 466 EXPECT_FALSE(rescan_button_.hidden); |
| 467 // OK button is disabled since the chooser refreshed options. | 467 // OK button is disabled since the chooser refreshed options. |
| 468 ASSERT_FALSE(connect_button_.enabled); | 468 ASSERT_FALSE(connect_button_.enabled); |
| 469 ASSERT_TRUE(cancel_button_.enabled); | 469 ASSERT_TRUE(cancel_button_.enabled); |
| 470 } | 470 } |
| 471 | 471 |
| 472 TEST_F(ChooserDialogCocoaControllerTest, |
| 473 DiscoveringAndOneOptionAddedAndSelectedAndIdle) { |
| 474 CreateChooserDialog(); |
| 475 |
| 476 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); |
| 477 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); |
| 478 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); |
| 479 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:1] |
| 480 byExtendingSelection:NO]; |
| 481 |
| 482 chooser_controller_->OnDiscoveryStateChanged( |
| 483 content::BluetoothChooser::DiscoveryState::DISCOVERING); |
| 484 chooser_controller_->OptionAdded(base::ASCIIToUTF16("d")); |
| 485 EXPECT_FALSE(table_view_.hidden); |
| 486 // |table_view_| should be enabled since there is an option. |
| 487 ASSERT_TRUE(table_view_.enabled); |
| 488 EXPECT_EQ(1, table_view_.numberOfRows); |
| 489 // No option selected. |
| 490 EXPECT_EQ(-1, table_view_.selectedRow); |
| 491 EXPECT_TRUE(spinner_.hidden); |
| 492 EXPECT_FALSE(status_.hidden); |
| 493 EXPECT_TRUE(rescan_button_.hidden); |
| 494 // OK button is disabled since no option is selected. |
| 495 ASSERT_FALSE(connect_button_.enabled); |
| 496 ASSERT_TRUE(cancel_button_.enabled); |
| 497 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] |
| 498 byExtendingSelection:NO]; |
| 499 EXPECT_EQ(0, table_view_.selectedRow); |
| 500 ASSERT_TRUE(connect_button_.enabled); |
| 501 ASSERT_TRUE(cancel_button_.enabled); |
| 502 |
| 503 chooser_controller_->OnDiscoveryStateChanged( |
| 504 content::BluetoothChooser::DiscoveryState::IDLE); |
| 505 EXPECT_FALSE(table_view_.hidden); |
| 506 ASSERT_TRUE(table_view_.enabled); |
| 507 EXPECT_EQ(1, table_view_.numberOfRows); |
| 508 EXPECT_EQ(0, table_view_.selectedRow); |
| 509 EXPECT_TRUE(spinner_.hidden); |
| 510 EXPECT_TRUE(status_.hidden); |
| 511 EXPECT_FALSE(rescan_button_.hidden); |
| 512 ASSERT_TRUE(connect_button_.enabled); |
| 513 ASSERT_TRUE(cancel_button_.enabled); |
| 514 } |
| 515 |
| 472 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) { | 516 TEST_F(ChooserDialogCocoaControllerTest, PressRescanButton) { |
| 473 CreateChooserDialog(); | 517 CreateChooserDialog(); |
| 474 | 518 |
| 475 EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1); | 519 EXPECT_CALL(*chooser_controller_, RefreshOptions()).Times(1); |
| 476 [rescan_button_ performClick:chooser_dialog_controller_]; | 520 [rescan_button_ performClick:chooser_dialog_controller_]; |
| 477 } | 521 } |
| 478 | 522 |
| 479 TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) { | 523 TEST_F(ChooserDialogCocoaControllerTest, PressHelpButton) { |
| 480 CreateChooserDialog(); | 524 CreateChooserDialog(); |
| 481 | 525 |
| 482 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); | 526 chooser_controller_->OptionAdded(base::ASCIIToUTF16("a")); |
| 483 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); | 527 chooser_controller_->OptionAdded(base::ASCIIToUTF16("b")); |
| 484 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); | 528 chooser_controller_->OptionAdded(base::ASCIIToUTF16("c")); |
| 485 | 529 |
| 486 // Select option 0 and press "Get help" button. | 530 // Select option 0 and press "Get help" button. |
| 487 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] | 531 [table_view_ selectRowIndexes:[NSIndexSet indexSetWithIndex:0] |
| 488 byExtendingSelection:NO]; | 532 byExtendingSelection:NO]; |
| 489 EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0); | 533 EXPECT_CALL(*chooser_controller_, Select(testing::_)).Times(0); |
| 490 EXPECT_CALL(*chooser_controller_, Cancel()).Times(0); | 534 EXPECT_CALL(*chooser_controller_, Cancel()).Times(0); |
| 491 EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1); | 535 EXPECT_CALL(*chooser_controller_, OpenHelpCenterUrl()).Times(1); |
| 492 [help_button_ performClick:chooser_dialog_controller_]; | 536 [help_button_ performClick:chooser_dialog_controller_]; |
| 493 } | 537 } |
| OLD | NEW |