| Index: chrome/browser/ui/tabs/tab_strip_model_unittest.cc
|
| diff --git a/chrome/browser/ui/tabs/tab_strip_model_unittest.cc b/chrome/browser/ui/tabs/tab_strip_model_unittest.cc
|
| index b7967ee2b38281ff959ac68dc73c37cb9cab4d66..da582a385addee886a4d33642afff6597f7687e9 100644
|
| --- a/chrome/browser/ui/tabs/tab_strip_model_unittest.cc
|
| +++ b/chrome/browser/ui/tabs/tab_strip_model_unittest.cc
|
| @@ -2688,3 +2688,36 @@ TEST_F(TabStripModelTest, TabBlockedState) {
|
| strip_dst.CloseAllTabs();
|
| strip_src.CloseAllTabs();
|
| }
|
| +
|
| +// Verifies ordering of tabs opened via a link from a pinned tab with a
|
| +// subsequent pinned tab.
|
| +TEST_F(TabStripModelTest, LinkClicksWithPinnedTabOrdering) {
|
| + TabStripDummyDelegate delegate;
|
| + TabStripModel strip(&delegate, profile());
|
| +
|
| + // Open two pages, pinned.
|
| + WebContents* page_a_contents = CreateWebContents();
|
| + strip.AddWebContents(page_a_contents, -1,
|
| + ui::PAGE_TRANSITION_AUTO_TOPLEVEL,
|
| + TabStripModel::ADD_ACTIVE | TabStripModel::ADD_PINNED);
|
| + WebContents* page_b_contents = CreateWebContents();
|
| + strip.AddWebContents(page_b_contents, -1,
|
| + ui::PAGE_TRANSITION_AUTO_TOPLEVEL,
|
| + TabStripModel::ADD_ACTIVE | TabStripModel::ADD_PINNED);
|
| +
|
| + // Activate the first tab (a).
|
| + strip.ActivateTabAt(0, true);
|
| +
|
| + // Open two more tabs as link clicks. The first tab, c, should appear after
|
| + // the pinned tabs followed by the second tab (d).
|
| + WebContents* page_c_contents = CreateWebContents();
|
| + WebContents* page_d_contents = CreateWebContents();
|
| + strip.AddWebContents(page_c_contents, -1, ui::PAGE_TRANSITION_LINK,
|
| + TabStripModel::ADD_NONE);
|
| + strip.AddWebContents(page_d_contents, -1, ui::PAGE_TRANSITION_LINK,
|
| + TabStripModel::ADD_NONE);
|
| +
|
| + EXPECT_EQ(2, strip.GetIndexOfWebContents(page_c_contents));
|
| + EXPECT_EQ(3, strip.GetIndexOfWebContents(page_d_contents));
|
| + strip.CloseAllTabs();
|
| +}
|
|
|