@@ -138,9 +138,23 @@ class VerticalTabStripBrowserTest : public InProcessBrowserTest {
138
138
browser_non_client_frame_view ()->DeprecatedLayoutImmediately ();
139
139
}
140
140
141
+ void AppendTab (Browser* browser) {
142
+ chrome::AddTabAt (browser, GURL (), -1 , true );
143
+ }
144
+
145
+ tab_groups::TabGroupId AddTabToNewGroup (Browser* browser, int tab_index) {
146
+ return browser->tab_strip_model ()->AddToNewGroup ({tab_index});
147
+ }
148
+
149
+ void AddTabToExistingGroup (Browser* browser,
150
+ int tab_index,
151
+ tab_groups::TabGroupId group) {
152
+ ASSERT_TRUE (browser->tab_strip_model ()->SupportsTabGroups ());
153
+ browser->tab_strip_model ()->AddToExistingGroup ({tab_index}, group);
154
+ }
155
+
141
156
TabStrip* GetTabStrip (Browser* browser) {
142
- BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser (browser);
143
- return browser_view->tabstrip ();
157
+ return BrowserView::GetBrowserViewForBrowser (browser)->tabstrip ();
144
158
}
145
159
146
160
Tab* GetTabAt (Browser* browser, int index) {
@@ -301,7 +315,7 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripBrowserTest, MinHeight) {
301
315
ToggleVerticalTabStrip ();
302
316
303
317
// Add a tab to flush cached min size.
304
- chrome::AddTabAt (browser (), {}, - 1 , true );
318
+ AppendTab (browser ());
305
319
306
320
const auto browser_view_min_size = browser_view ()->GetMinimumSize ();
307
321
const auto browser_non_client_frame_view_min_size =
@@ -311,7 +325,7 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripBrowserTest, MinHeight) {
311
325
auto tab_strip_min_height =
312
326
browser_view ()->tab_strip_region_view ()->GetMinimumSize ().height ();
313
327
for (int i = 0 ; i < 10 ; i++) {
314
- chrome::AddTabAt (browser (), {}, - 1 , true );
328
+ AppendTab (browser ());
315
329
}
316
330
ASSERT_LE (tab_strip_min_height,
317
331
browser_view ()->tab_strip_region_view ()->GetMinimumSize ().height ());
@@ -463,7 +477,7 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripBrowserTest, LayoutSanity) {
463
477
464
478
ToggleVerticalTabStrip ();
465
479
466
- chrome::AddTabAt (browser (), {}, - 1 , true );
480
+ AppendTab (browser ());
467
481
468
482
auto * widget_delegate_view =
469
483
browser_view ()->vertical_tab_strip_widget_delegate_view ();
@@ -741,13 +755,23 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripBrowserTest, PinningGroupedTab) {
741
755
// Regression check for https://github.com/brave/brave-browser/issues/40201
742
756
ToggleVerticalTabStrip ();
743
757
744
- // Given that we have a grouped tab
745
- browser ()->tab_strip_model ()->ExecuteContextMenuCommand (
746
- 0 , TabStripModel::CommandToggleGrouped);
758
+ AppendTab (browser ());
759
+ AppendTab (browser ());
760
+ AppendTab (browser ());
761
+
762
+ tab_groups::TabGroupId group = AddTabToNewGroup (browser (), 0 );
763
+ AddTabToExistingGroup (browser (), 1 , group);
764
+ AddTabToExistingGroup (browser (), 2 , group);
765
+ AddTabToExistingGroup (browser (), 3 , group);
766
+
767
+ browser ()->tab_strip_model ()->SetTabPinned (1 , true );
768
+ EXPECT_EQ (GetTabStrip (browser ())->tab_at (0 )->group (), std::nullopt);
769
+
770
+ browser ()->tab_strip_model ()->SetTabPinned (2 , true );
771
+ EXPECT_EQ (GetTabStrip (browser ())->tab_at (1 )->group (), std::nullopt);
747
772
748
- // When pinning the tab shouldn't cause crash.
749
- browser ()->tab_strip_model ()->ExecuteContextMenuCommand (
750
- 0 , TabStripModel::CommandTogglePinned);
773
+ EXPECT_EQ (GetTabStrip (browser ())->tab_at (2 )->group ().value (), group);
774
+ EXPECT_EQ (GetTabStrip (browser ())->tab_at (3 )->group ().value (), group);
751
775
}
752
776
753
777
class VerticalTabStripDragAndDropBrowserTest
@@ -840,7 +864,7 @@ class VerticalTabStripDragAndDropBrowserTest
840
864
IN_PROC_BROWSER_TEST_F (VerticalTabStripDragAndDropBrowserTest,
841
865
MAYBE_DragTabToReorder) {
842
866
// Pre-conditions ------------------------------------------------------------
843
- chrome::AddTabAt (browser (), {}, - 1 , true );
867
+ AppendTab (browser ());
844
868
845
869
auto * widget_delegate_view =
846
870
browser_view ()->vertical_tab_strip_widget_delegate_view_ .get ();
@@ -895,7 +919,7 @@ IN_PROC_BROWSER_TEST_F(VerticalTabStripDragAndDropBrowserTest,
895
919
IN_PROC_BROWSER_TEST_F (VerticalTabStripDragAndDropBrowserTest,
896
920
MAYBE_DragTabToDetach) {
897
921
// Pre-conditions ------------------------------------------------------------
898
- chrome::AddTabAt (browser (), {}, - 1 , true );
922
+ AppendTab (browser ());
899
923
900
924
// Drag a tab out of tab strip to create browser -----------------------------
901
925
GetTabStrip (browser ())->StopAnimating (
0 commit comments