summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tabs/tab_strip_model_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/tabs/tab_strip_model_unittest.cc')
-rw-r--r--chrome/browser/tabs/tab_strip_model_unittest.cc134
1 files changed, 12 insertions, 122 deletions
diff --git a/chrome/browser/tabs/tab_strip_model_unittest.cc b/chrome/browser/tabs/tab_strip_model_unittest.cc
index b988941..6643bbc 100644
--- a/chrome/browser/tabs/tab_strip_model_unittest.cc
+++ b/chrome/browser/tabs/tab_strip_model_unittest.cc
@@ -270,13 +270,7 @@ class TabStripModelTest : public RenderViewHostTestHarness {
class MockTabStripModelObserver : public TabStripModelObserver {
public:
- MockTabStripModelObserver() : empty_(true),
- log_tab_selection_changed_(false),
- model_(NULL) {}
- explicit MockTabStripModelObserver(TabStripModel* model)
- : empty_(true),
- log_tab_selection_changed_(false),
- model_(model) {}
+ MockTabStripModelObserver() : empty_(true) {}
~MockTabStripModelObserver() {
STLDeleteContainerPointers(states_.begin(), states_.end());
}
@@ -285,7 +279,6 @@ class MockTabStripModelObserver : public TabStripModelObserver {
INSERT,
CLOSE,
DETACH,
- ACTIVATE,
SELECT,
MOVE,
CHANGE,
@@ -355,22 +348,11 @@ class MockTabStripModelObserver : public TabStripModelObserver {
TabContentsWrapper* new_contents,
int index,
bool user_gesture) {
- State* s = new State(new_contents, index, ACTIVATE);
+ State* s = new State(new_contents, index, SELECT);
s->src_contents = old_contents;
s->user_gesture = user_gesture;
states_.push_back(s);
}
- virtual void TabSelectionChanged(const TabStripSelectionModel& old_model) {
- if (!log_tab_selection_changed())
- return;
-
- State* s = new State(model()->GetActiveTabContents(),
- model()->active_index(),
- SELECT);
- s->src_contents = model()->GetTabContentsAt(old_model.active());
- s->src_index = old_model.active();
- states_.push_back(s);
- }
virtual void TabMoved(
TabContentsWrapper* contents, int from_index, int to_index) {
State* s = new State(contents, to_index, MOVE);
@@ -410,22 +392,12 @@ class MockTabStripModelObserver : public TabStripModelObserver {
states_.clear();
}
- void set_log_tab_selection_changed(bool flag) {
- log_tab_selection_changed_ = flag;
- }
-
bool empty() const { return empty_; }
- bool log_tab_selection_changed() const { return log_tab_selection_changed_; }
- TabStripModel* model() { return model_; }
private:
std::vector<State*> states_;
bool empty_;
- // TODO(dpapad): Remove this variable and update TestBasicAPI so that it takes
- // into account TabSelectionChanged notifications.
- bool log_tab_selection_changed_;
- TabStripModel* model_;
DISALLOW_COPY_AND_ASSIGN(MockTabStripModelObserver);
};
@@ -456,7 +428,7 @@ TEST_F(TabStripModelTest, TestBasicAPI) {
State s1(contents1, 0, MockTabStripModelObserver::INSERT);
s1.foreground = true;
EXPECT_TRUE(observer.StateEquals(0, s1));
- State s2(contents1, 0, MockTabStripModelObserver::ACTIVATE);
+ State s2(contents1, 0, MockTabStripModelObserver::SELECT);
s2.src_contents = NULL;
EXPECT_TRUE(observer.StateEquals(1, s2));
observer.ClearStates();
@@ -472,7 +444,7 @@ TEST_F(TabStripModelTest, TestBasicAPI) {
State s1(contents2, 1, MockTabStripModelObserver::INSERT);
s1.foreground = true;
EXPECT_TRUE(observer.StateEquals(0, s1));
- State s2(contents2, 1, MockTabStripModelObserver::ACTIVATE);
+ State s2(contents2, 1, MockTabStripModelObserver::SELECT);
s2.src_contents = contents1;
EXPECT_TRUE(observer.StateEquals(1, s2));
observer.ClearStates();
@@ -495,7 +467,7 @@ TEST_F(TabStripModelTest, TestBasicAPI) {
{
tabstrip.ActivateTabAt(2, true);
EXPECT_EQ(1, observer.GetStateCount());
- State s1(contents3, 2, MockTabStripModelObserver::ACTIVATE);
+ State s1(contents3, 2, MockTabStripModelObserver::SELECT);
s1.src_contents = contents2;
s1.user_gesture = true;
EXPECT_TRUE(observer.StateEquals(0, s1));
@@ -511,14 +483,14 @@ TEST_F(TabStripModelTest, TestBasicAPI) {
EXPECT_EQ(4, observer.GetStateCount());
State s1(detached, 2, MockTabStripModelObserver::DETACH);
EXPECT_TRUE(observer.StateEquals(0, s1));
- State s2(contents2, 1, MockTabStripModelObserver::ACTIVATE);
+ State s2(contents2, 1, MockTabStripModelObserver::SELECT);
s2.src_contents = contents3;
s2.user_gesture = false;
EXPECT_TRUE(observer.StateEquals(1, s2));
State s3(detached, 2, MockTabStripModelObserver::INSERT);
s3.foreground = true;
EXPECT_TRUE(observer.StateEquals(2, s3));
- State s4(detached, 2, MockTabStripModelObserver::ACTIVATE);
+ State s4(detached, 2, MockTabStripModelObserver::SELECT);
s4.src_contents = contents2;
s4.user_gesture = false;
EXPECT_TRUE(observer.StateEquals(3, s4));
@@ -543,7 +515,7 @@ TEST_F(TabStripModelTest, TestBasicAPI) {
EXPECT_TRUE(observer.StateEquals(0, s1));
State s2(contents3, 2, MockTabStripModelObserver::DETACH);
EXPECT_TRUE(observer.StateEquals(1, s2));
- State s3(contents2, 1, MockTabStripModelObserver::ACTIVATE);
+ State s3(contents2, 1, MockTabStripModelObserver::SELECT);
s3.src_contents = contents3;
s3.user_gesture = false;
EXPECT_TRUE(observer.StateEquals(2, s3));
@@ -2090,7 +2062,7 @@ TEST_F(TabStripModelTest, ReplaceSendsSelected) {
EXPECT_TRUE(tabstrip_observer.StateEquals(0, state));
// And the second for selected.
- state = State(new_contents, 0, MockTabStripModelObserver::ACTIVATE);
+ state = State(new_contents, 0, MockTabStripModelObserver::SELECT);
state.src_contents = first_contents;
EXPECT_TRUE(tabstrip_observer.StateEquals(1, state));
@@ -2209,89 +2181,9 @@ TEST_F(TabStripModelTest, CloseSelectedTabs) {
strip.CloseAllTabs();
}
-TEST_F(TabStripModelTest, MultipleSelection) {
- TabStripDummyDelegate delegate(NULL);
- TabStripModel strip(&delegate, profile());
- MockTabStripModelObserver observer(&strip);
- TabContentsWrapper* contents0 = CreateTabContents();
- TabContentsWrapper* contents1 = CreateTabContents();
- TabContentsWrapper* contents2 = CreateTabContents();
- TabContentsWrapper* contents3 = CreateTabContents();
- strip.AppendTabContents(contents0, false);
- strip.AppendTabContents(contents1, false);
- strip.AppendTabContents(contents2, false);
- strip.AppendTabContents(contents3, false);
- observer.set_log_tab_selection_changed(true);
- strip.AddObserver(&observer);
-
- // Selection and active tab change.
- strip.ActivateTabAt(3, true);
- ASSERT_EQ(2, observer.GetStateCount());
- ASSERT_EQ(observer.GetStateAt(0)->action,
- MockTabStripModelObserver::ACTIVATE);
- MockTabStripModelObserver::State s1(contents3, 3,
- MockTabStripModelObserver::SELECT);
- EXPECT_TRUE(observer.StateEquals(1, s1));
- observer.ClearStates();
-
- // Adding all tabs to selection, active tab is now at 0.
- strip.ExtendSelectionTo(0);
- ASSERT_EQ(2, observer.GetStateCount());
- ASSERT_EQ(observer.GetStateAt(0)->action,
- MockTabStripModelObserver::ACTIVATE);
- MockTabStripModelObserver::State s2(contents0, 0,
- MockTabStripModelObserver::SELECT);
- s2.src_contents = contents3;
- s2.src_index = 3;
- EXPECT_TRUE(observer.StateEquals(1, s2));
- observer.ClearStates();
-
- // Closing one of the selected tabs, not the active one.
- strip.CloseTabContentsAt(1, TabStripModel::CLOSE_NONE);
- EXPECT_EQ(3, strip.count());
- ASSERT_EQ(3, observer.GetStateCount());
- ASSERT_EQ(observer.GetStateAt(0)->action,
- MockTabStripModelObserver::CLOSE);
- ASSERT_EQ(observer.GetStateAt(1)->action,
- MockTabStripModelObserver::DETACH);
- ASSERT_EQ(observer.GetStateAt(2)->action,
- MockTabStripModelObserver::SELECT);
- observer.ClearStates();
-
- // Closing the active tab, while there are others tabs selected.
- strip.CloseTabContentsAt(0, TabStripModel::CLOSE_NONE);
- EXPECT_EQ(2, strip.count());
- ASSERT_EQ(4, observer.GetStateCount());
- ASSERT_EQ(observer.GetStateAt(0)->action,
- MockTabStripModelObserver::CLOSE);
- ASSERT_EQ(observer.GetStateAt(1)->action,
- MockTabStripModelObserver::DETACH);
- ASSERT_EQ(observer.GetStateAt(2)->action,
- MockTabStripModelObserver::ACTIVATE);
- ASSERT_EQ(observer.GetStateAt(3)->action,
- MockTabStripModelObserver::SELECT);
- observer.ClearStates();
-
- // Active tab is at 0, deselecting all but the active tab.
- strip.ToggleSelectionAt(1);
- ASSERT_EQ(1, observer.GetStateCount());
- ASSERT_EQ(observer.GetStateAt(0)->action,
- MockTabStripModelObserver::SELECT);
- observer.ClearStates();
-
- // Attempting to deselect the only selected and therefore active tab,
- // it is ignored (no notifications being sent) and tab at 0 remains selected
- // and active.
- strip.ToggleSelectionAt(0);
- ASSERT_EQ(0, observer.GetStateCount());
-
- strip.RemoveObserver(&observer);
- strip.CloseAllTabs();
-}
-
// Verifies that if we change the selection from a multi selection to a single
// selection, but not in a way that changes the selected_index that
-// TabSelectionChanged is invoked.
+// ActiveTabChanged is still invoked.
TEST_F(TabStripModelTest, MultipleToSingle) {
TabStripDummyDelegate delegate(NULL);
TabStripModel strip(&delegate, profile());
@@ -2302,8 +2194,7 @@ TEST_F(TabStripModelTest, MultipleToSingle) {
strip.ToggleSelectionAt(0);
strip.ToggleSelectionAt(1);
- MockTabStripModelObserver observer(&strip);
- observer.set_log_tab_selection_changed(true);
+ MockTabStripModelObserver observer;
strip.AddObserver(&observer);
// This changes the selection (0 is no longer selected) but the selected_index
// still remains at 1.
@@ -2312,8 +2203,7 @@ TEST_F(TabStripModelTest, MultipleToSingle) {
MockTabStripModelObserver::State s(
contents2, 1, MockTabStripModelObserver::SELECT);
s.src_contents = contents2;
- s.src_index = 1;
- s.user_gesture = false;
+ s.user_gesture = true;
EXPECT_TRUE(observer.StateEquals(0, s));
strip.RemoveObserver(&observer);
strip.CloseAllTabs();