Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(592)

Unified Diff: ios/chrome/browser/tabs/tab_model_unittest.mm

Issue 2712743008: Remove -insertTabWithWebState:atIndex: from TabModel. (Closed)
Patch Set: Rebase. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/tabs/tab_model_unittest.mm
diff --git a/ios/chrome/browser/tabs/tab_model_unittest.mm b/ios/chrome/browser/tabs/tab_model_unittest.mm
index 874340bda1befcfb73acd5f57f41cb7f8d3fc293..2fe10d7221417490241fe76ac0ec2f8a367d40bf 100644
--- a/ios/chrome/browser/tabs/tab_model_unittest.mm
+++ b/ios/chrome/browser/tabs/tab_model_unittest.mm
@@ -80,12 +80,8 @@ using web::WebStateImpl;
namespace {
-const GURL kURL("https://www.some.url.com");
-const web::Referrer kEmptyReferrer;
-const web::Referrer kReferrer(GURL("https//www.some.referer.com"),
- web::ReferrerPolicyDefault);
-const web::Referrer kReferrer2(GURL("https//www.some.referer2.com"),
- web::ReferrerPolicyDefault);
+const char kURL1[] = "https://www.some.url.com";
+const char kURL2[] = "https://www.some.url2.com";
class TabModelTest : public PlatformTest {
public:
@@ -109,54 +105,25 @@ class TabModelTest : public PlatformTest {
browserState:chrome_browser_state_.get()]);
[tab_model_ setWebUsageEnabled:NO];
[tab_model_ setPrimary:YES];
- tab_model_observer_.reset([[TabModelObserverPong alloc] init]);
- [tab_model_ addObserver:tab_model_observer_];
}
~TabModelTest() override {
- [tab_model_ removeObserver:tab_model_observer_];
[tab_model_ browserStateDestroyed];
}
protected:
- std::unique_ptr<WebStateImpl> CreateWebState(NSString* opener,
- NSInteger index) {
- auto webState = base::MakeUnique<WebStateImpl>(chrome_browser_state_.get());
- webState->GetNavigationManagerImpl().InitializeSession(NO);
- if ([opener length] != 0) {
- // Duplicate code from Tab initializer. Will be removed once the code
- // is rewritten to remove the use of internal ios/web/ API (see issue
- // http://crbug.com/620465 for progress).
- web::SerializableUserDataManager* userDataManager =
- web::SerializableUserDataManager::FromWebState(webState.get());
- userDataManager->AddSerializableData(opener, @"OpenerID");
- userDataManager->AddSerializableData(@(index), @"OpenerNavigationIndex");
- }
- return webState;
- }
-
- std::unique_ptr<WebStateImpl> CreateWebState() {
- return CreateWebState(@"", -1);
- }
-
- std::unique_ptr<WebStateImpl> CreateChildWebState(Tab* parent) {
- return CreateWebState(parent.tabId, -1);
- }
-
- void RestoreSession(SessionWindowIOS* window) {
- [tab_model_ restoreSessionWindow:window];
- }
-
- // Creates a session window with |entries| entries and a |selectedIndex| of 1.
- SessionWindowIOS* CreateSessionWindow(int entries) {
- SessionWindowIOS* window = [[SessionWindowIOS alloc] init];
- for (int i = 0; i < entries; i++) {
+ // Creates a session window with entries named "restored window 1",
+ // "restored window 2" and "restored window 3" and the second entry
+ // marked as selected.
+ base::scoped_nsobject<SessionWindowIOS> CreateSessionWindow() {
+ base::scoped_nsobject<SessionWindowIOS> window(
+ [[SessionWindowIOS alloc] init]);
+ for (int i = 0; i < 3; i++) {
CRWSessionStorage* session_storage =
[[[CRWSessionStorage alloc] init] autorelease];
[window addSerializedSessionStorage:session_storage];
}
- if (entries)
- [window setSelectedIndex:1];
+ [window setSelectedIndex:1];
return window;
}
@@ -167,57 +134,56 @@ class TabModelTest : public PlatformTest {
std::unique_ptr<TestChromeBrowserState> chrome_browser_state_;
base::mac::ScopedNSAutoreleasePool pool_;
base::scoped_nsobject<TabModel> tab_model_;
- base::scoped_nsobject<TabModelObserverPong> tab_model_observer_;
};
TEST_F(TabModelTest, IsEmpty) {
EXPECT_EQ([tab_model_ count], 0U);
EXPECT_TRUE([tab_model_ isEmpty]);
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
+ inBackground:NO];
ASSERT_EQ(1U, [tab_model_ count]);
EXPECT_FALSE([tab_model_ isEmpty]);
}
TEST_F(TabModelTest, InsertUrlSingle) {
- Tab* tab = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
+ inBackground:NO];
ASSERT_EQ(1U, [tab_model_ count]);
EXPECT_NSEQ(tab, [tab_model_ tabAtIndex:0]);
}
TEST_F(TabModelTest, InsertUrlMultiple) {
- Tab* tab0 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab0 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
- Tab* tab1 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
- Tab* tab2 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:1
- inBackground:YES];
+ inBackground:NO];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab1, [tab_model_ tabAtIndex:0]);
@@ -226,39 +192,39 @@ TEST_F(TabModelTest, InsertUrlMultiple) {
}
TEST_F(TabModelTest, AppendUrlSingle) {
- Tab* tab = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
ASSERT_EQ(1U, [tab_model_ count]);
EXPECT_NSEQ(tab, [tab_model_ tabAtIndex:0]);
}
TEST_F(TabModelTest, AppendUrlMultiple) {
- Tab* tab0 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab0 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab1 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab2 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:0]);
@@ -267,27 +233,27 @@ TEST_F(TabModelTest, AppendUrlMultiple) {
}
TEST_F(TabModelTest, CloseTabAtIndexBeginning) {
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab1 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab2 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
[tab_model_ closeTabAtIndex:0];
@@ -297,27 +263,27 @@ TEST_F(TabModelTest, CloseTabAtIndexBeginning) {
}
TEST_F(TabModelTest, CloseTabAtIndexMiddle) {
- Tab* tab0 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab0 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab2 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
[tab_model_ closeTabAtIndex:1];
@@ -327,27 +293,27 @@ TEST_F(TabModelTest, CloseTabAtIndexMiddle) {
}
TEST_F(TabModelTest, CloseTabAtIndexLast) {
- Tab* tab0 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab0 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab1 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
[tab_model_ closeTabAtIndex:2];
@@ -357,13 +323,13 @@ TEST_F(TabModelTest, CloseTabAtIndexLast) {
}
TEST_F(TabModelTest, CloseTabAtIndexOnlyOne) {
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
[tab_model_ closeTabAtIndex:0];
@@ -372,15 +338,16 @@ TEST_F(TabModelTest, CloseTabAtIndexOnlyOne) {
TEST_F(TabModelTest, RestoreSessionOnNTPTest) {
Tab* tab = [tab_model_ insertTabWithURL:GURL(kChromeUINewTabURL)
- referrer:kEmptyReferrer
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
- base::scoped_nsobject<SessionWindowIOS> window(CreateSessionWindow(3));
+ inBackground:NO];
+
+ base::scoped_nsobject<SessionWindowIOS> window(CreateSessionWindow());
+ [tab_model_ restoreSessionWindow:window.get()];
- RestoreSession(window.get());
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ([tab_model_ tabAtIndex:1], [tab_model_ currentTab]);
EXPECT_NSNE(tab, [tab_model_ tabAtIndex:0]);
@@ -390,22 +357,23 @@ TEST_F(TabModelTest, RestoreSessionOnNTPTest) {
TEST_F(TabModelTest, RestoreSessionOn2NtpTest) {
Tab* tab0 = [tab_model_ insertTabWithURL:GURL(kChromeUINewTabURL)
- referrer:kEmptyReferrer
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
+ inBackground:NO];
Tab* tab1 = [tab_model_ insertTabWithURL:GURL(kChromeUINewTabURL)
- referrer:kEmptyReferrer
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:1
- inBackground:YES];
- base::scoped_nsobject<SessionWindowIOS> window(CreateSessionWindow(3));
+ inBackground:NO];
+
+ base::scoped_nsobject<SessionWindowIOS> window(CreateSessionWindow());
+ [tab_model_ restoreSessionWindow:window.get()];
- RestoreSession(window.get());
ASSERT_EQ(5U, [tab_model_ count]);
EXPECT_NSEQ([tab_model_ tabAtIndex:3], [tab_model_ currentTab]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:0]);
@@ -419,16 +387,17 @@ TEST_F(TabModelTest, RestoreSessionOn2NtpTest) {
}
TEST_F(TabModelTest, RestoreSessionOnAnyTest) {
- Tab* tab = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:0
- inBackground:YES];
- base::scoped_nsobject<SessionWindowIOS> window(CreateSessionWindow(3));
+ inBackground:NO];
+
+ base::scoped_nsobject<SessionWindowIOS> window(CreateSessionWindow());
+ [tab_model_ restoreSessionWindow:window.get()];
- RestoreSession(window.get());
ASSERT_EQ(4U, [tab_model_ count]);
EXPECT_NSEQ([tab_model_ tabAtIndex:2], [tab_model_ currentTab]);
EXPECT_NSEQ(tab, [tab_model_ tabAtIndex:0]);
@@ -438,27 +407,27 @@ TEST_F(TabModelTest, RestoreSessionOnAnyTest) {
}
TEST_F(TabModelTest, CloseAllTabs) {
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:GURL("https://www.some.url2.com")
- referrer:kReferrer2
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL2)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
[tab_model_ closeAllTabs];
@@ -475,8 +444,14 @@ TEST_F(TabModelTest, InsertWithSessionController) {
EXPECT_EQ([tab_model_ count], 0U);
EXPECT_TRUE([tab_model_ isEmpty]);
- Tab* new_tab = [tab_model_ insertTabWithWebState:CreateWebState(@"opener", -1)
- atIndex:0];
+ Tab* new_tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+
EXPECT_EQ([tab_model_ count], 1U);
[tab_model_ setCurrentTab:new_tab];
Tab* current_tab = [tab_model_ currentTab];
@@ -485,43 +460,63 @@ TEST_F(TabModelTest, InsertWithSessionController) {
TEST_F(TabModelTest, OpenerOfTab) {
// Start off with a couple tabs.
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// Create parent tab.
- Tab* parent_tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
+ Tab* parent_tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+
// Create child tab.
- Tab* child_tab =
- [tab_model_ insertTabWithWebState:CreateChildWebState(parent_tab)
- atIndex:[tab_model_ count]];
+ Tab* child_tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:parent_tab
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+
// Create another unrelated tab.
- Tab* another_tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
+ Tab* another_tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
// Create another child of the first tab.
- Tab* child_tab2 =
- [tab_model_ insertTabWithWebState:CreateChildWebState(parent_tab)
- atIndex:[tab_model_ count]];
+ Tab* child_tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:parent_tab
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
EXPECT_FALSE([tab_model_ openerOfTab:parent_tab]);
EXPECT_FALSE([tab_model_ openerOfTab:another_tab]);
@@ -542,82 +537,91 @@ TEST_F(TabModelTest, OpenersEmptyModel) {
TEST_F(TabModelTest, OpenersNothingOpenedGeneral) {
// Start with a few tabs.
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
- Tab* tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
+ Tab* tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// All should fail since this hasn't opened anything else.
EXPECT_FALSE([tab_model_ nextTabWithOpener:tab afterTab:nil]);
EXPECT_FALSE([tab_model_ lastTabWithOpener:tab]);
// Add more items to the tab, expect the same results.
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
-
+ inBackground:NO];
EXPECT_FALSE([tab_model_ nextTabWithOpener:tab afterTab:nil]);
EXPECT_FALSE([tab_model_ lastTabWithOpener:tab]);
}
TEST_F(TabModelTest, OpenersNothingOpenedFirst) {
// Our tab is first.
- Tab* tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
+ Tab* tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// All should fail since this hasn't opened anything else.
EXPECT_FALSE([tab_model_ nextTabWithOpener:tab afterTab:nil]);
@@ -626,22 +630,28 @@ TEST_F(TabModelTest, OpenersNothingOpenedFirst) {
TEST_F(TabModelTest, OpenersNothingOpenedLast) {
// Our tab is last.
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
+ inBackground:NO];
+
+ Tab* tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
// All should fail since this hasn't opened anything else.
EXPECT_FALSE([tab_model_ nextTabWithOpener:tab afterTab:nil]);
@@ -649,44 +659,82 @@ TEST_F(TabModelTest, OpenersNothingOpenedLast) {
}
TEST_F(TabModelTest, OpenersChildTabBeforeOpener) {
- Tab* parent_tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
+ Tab* parent_tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+
// Insert child at start
- [tab_model_ insertTabWithWebState:CreateChildWebState(parent_tab) atIndex:0];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:parent_tab
+ openedByDOM:NO
+ atIndex:0
+ inBackground:NO];
// Insert a few more between them.
- [tab_model_ insertTabWithWebState:CreateWebState() atIndex:1];
- [tab_model_ insertTabWithWebState:CreateWebState() atIndex:1];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:1
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:1
+ inBackground:NO];
EXPECT_FALSE([tab_model_ nextTabWithOpener:parent_tab afterTab:nil]);
EXPECT_FALSE([tab_model_ lastTabWithOpener:parent_tab]);
}
TEST_F(TabModelTest, OpenersChildTabAfterOpener) {
- Tab* parent_tab = [tab_model_ insertTabWithWebState:CreateWebState()
- atIndex:[tab_model_ count]];
-
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* parent_tab = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
+
// Insert two children at end.
- Tab* child_tab1 =
- [tab_model_ insertTabWithWebState:CreateChildWebState(parent_tab)
- atIndex:[tab_model_ count]];
- Tab* child_tab2 =
- [tab_model_ insertTabWithWebState:CreateChildWebState(parent_tab)
- atIndex:[tab_model_ count]];
+ Tab* child_tab1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:parent_tab
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+ Tab* child_tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:parent_tab
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
EXPECT_EQ([tab_model_ nextTabWithOpener:parent_tab afterTab:nil], child_tab1);
EXPECT_EQ([tab_model_ nextTabWithOpener:parent_tab afterTab:child_tab1],
@@ -696,32 +744,32 @@ TEST_F(TabModelTest, OpenersChildTabAfterOpener) {
TEST_F(TabModelTest, AddWithOrderController) {
// Create a few tabs with the controller at the front.
- Tab* parent = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* parent = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// Add a new tab, it should be added behind the parent.
Tab* child =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
@@ -732,8 +780,8 @@ TEST_F(TabModelTest, AddWithOrderController) {
// Add another new tab without a parent, should go at the end.
Tab* tab =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:nil
openedByDOM:NO
@@ -742,8 +790,8 @@ TEST_F(TabModelTest, AddWithOrderController) {
EXPECT_EQ([tab_model_ indexOfTab:tab], [tab_model_ count] - 1);
// Same for a tab that's not opened via a LINK transition.
- Tab* tab2 = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
@@ -753,60 +801,60 @@ TEST_F(TabModelTest, AddWithOrderController) {
// Add a tab in the background. It should appear behind the opening tab.
Tab* tab3 =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:tab
openedByDOM:NO
atIndex:TabModelConstants::kTabPositionAutomatically
- inBackground:YES];
+ inBackground:NO];
EXPECT_EQ([tab_model_ indexOfTab:tab3], [tab_model_ indexOfTab:tab] + 1);
// Add another background tab behind the one we just opened.
Tab* tab4 =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:tab3
openedByDOM:NO
atIndex:TabModelConstants::kTabPositionAutomatically
- inBackground:YES];
+ inBackground:NO];
EXPECT_EQ([tab_model_ indexOfTab:tab4], [tab_model_ indexOfTab:tab3] + 1);
}
TEST_F(TabModelTest, AddWithOrderControllerAndGrouping) {
// Create a few tabs with the controller at the front.
- Tab* parent = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* parent = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// Force the history to update, as it is used to determine grouping.
ASSERT_TRUE([parent navigationManagerImpl]);
[[parent navigationManagerImpl]->GetSessionController() commitPendingItem];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
ASSERT_TRUE(chrome_browser_state_->CreateHistoryService(true));
// Add a new tab, it should be added behind the parent.
Tab* child1 =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
@@ -818,13 +866,13 @@ TEST_F(TabModelTest, AddWithOrderControllerAndGrouping) {
// Add a second child tab in the background. It should be added behind the
// first child.
Tab* child2 =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
atIndex:TabModelConstants::kTabPositionAutomatically
- inBackground:YES];
+ inBackground:NO];
EXPECT_EQ([tab_model_ indexOfTab:child2], 2U);
// Navigate the parent tab to a new URL. It should not change any ordering.
@@ -839,8 +887,8 @@ TEST_F(TabModelTest, AddWithOrderControllerAndGrouping) {
// Add a new tab. It should be added behind the parent. It should not be added
// after the previous two children.
Tab* child3 =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
@@ -851,13 +899,13 @@ TEST_F(TabModelTest, AddWithOrderControllerAndGrouping) {
// Add a fourt child tab in the background. It should be added behind the
// third child.
Tab* child4 =
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
atIndex:TabModelConstants::kTabPositionAutomatically
- inBackground:YES];
+ inBackground:NO];
EXPECT_EQ([tab_model_ indexOfTab:child4], 2U);
// The first two children should have been moved to the right.
@@ -865,49 +913,49 @@ TEST_F(TabModelTest, AddWithOrderControllerAndGrouping) {
EXPECT_EQ([tab_model_ indexOfTab:child2], 4U);
// Now add a non-owned tab and make sure it is added at the end.
- Tab* nonChild = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* nonChild = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
EXPECT_EQ([tab_model_ indexOfTab:nonChild], [tab_model_ count] - 1);
}
TEST_F(TabModelTest, AddWithLinkTransitionAndIndex) {
// Create a few tabs with the controller at the front.
- Tab* parent = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* parent = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// Force the history to update, as it is used to determine grouping.
ASSERT_TRUE([parent navigationManagerImpl]);
[[parent navigationManagerImpl]->GetSessionController() commitPendingItem];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
ASSERT_TRUE(chrome_browser_state_->CreateHistoryService(true));
// Add a new tab, it should be added before the parent since the index
// parameter has been specified with a valid value.
- Tab* child1 = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* child1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
@@ -918,8 +966,8 @@ TEST_F(TabModelTest, AddWithLinkTransitionAndIndex) {
// Add a new tab, it should be added at the beginning of the stack because
// the index parameter has been specified with a valid value.
- Tab* child2 = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* child2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
@@ -931,8 +979,8 @@ TEST_F(TabModelTest, AddWithLinkTransitionAndIndex) {
// Add a new tab, it should be added at position 1 because the index parameter
// has been specified with a valid value.
- Tab* child3 = [tab_model_ insertTabWithURL:kURL
- referrer:kEmptyReferrer
+ Tab* child3 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_LINK
opener:parent
openedByDOM:NO
@@ -945,27 +993,27 @@ TEST_F(TabModelTest, AddWithLinkTransitionAndIndex) {
}
TEST_F(TabModelTest, MoveTabs) {
- Tab* tab0 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ Tab* tab0 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab1 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab1 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
- Tab* tab2 = [tab_model_ insertTabWithURL:kURL
- referrer:kReferrer
+ inBackground:NO];
+ Tab* tab2 = [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
transition:ui::PAGE_TRANSITION_TYPED
opener:nil
openedByDOM:NO
atIndex:[tab_model_ count]
- inBackground:YES];
+ inBackground:NO];
// Basic sanity checks before moving on.
ASSERT_EQ(3U, [tab_model_ count]);
@@ -973,50 +1021,59 @@ TEST_F(TabModelTest, MoveTabs) {
ASSERT_NSEQ(tab1, [tab_model_ tabAtIndex:1]);
ASSERT_NSEQ(tab2, [tab_model_ tabAtIndex:2]);
+ // Check that observer methods are called.
+ base::scoped_nsobject<TabModelObserverPong> tab_model_observer;
+ tab_model_observer.reset([[TabModelObserverPong alloc] init]);
+ [tab_model_ addObserver:tab_model_observer.get()];
+
// Move a tab from index 1 to index 0 (move tab left by one).
- [tab_model_observer_ setTabMovedWasCalled:NO];
+ [tab_model_observer setTabMovedWasCalled:NO];
[tab_model_ moveTab:[tab_model_ tabAtIndex:1] toIndex:0];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab1, [tab_model_ tabAtIndex:0]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:1]);
EXPECT_NSEQ(tab2, [tab_model_ tabAtIndex:2]);
- EXPECT_TRUE([tab_model_observer_ tabMovedWasCalled]);
+ EXPECT_TRUE([tab_model_observer tabMovedWasCalled]);
// Move a tab from index 1 to index 2 (move tab right by one).
- [tab_model_observer_ setTabMovedWasCalled:NO];
+ [tab_model_observer setTabMovedWasCalled:NO];
[tab_model_ moveTab:[tab_model_ tabAtIndex:1] toIndex:2];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab1, [tab_model_ tabAtIndex:0]);
EXPECT_NSEQ(tab2, [tab_model_ tabAtIndex:1]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:2]);
- EXPECT_TRUE([tab_model_observer_ tabMovedWasCalled]);
+ EXPECT_TRUE([tab_model_observer tabMovedWasCalled]);
// Move a tab from index 0 to index 2 (move tab right by more than one).
- [tab_model_observer_ setTabMovedWasCalled:NO];
+ [tab_model_observer setTabMovedWasCalled:NO];
[tab_model_ moveTab:[tab_model_ tabAtIndex:0] toIndex:2];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab2, [tab_model_ tabAtIndex:0]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:1]);
EXPECT_NSEQ(tab1, [tab_model_ tabAtIndex:2]);
- EXPECT_TRUE([tab_model_observer_ tabMovedWasCalled]);
+ EXPECT_TRUE([tab_model_observer tabMovedWasCalled]);
// Move a tab from index 2 to index 0 (move tab left by more than one).
- [tab_model_observer_ setTabMovedWasCalled:NO];
+ [tab_model_observer setTabMovedWasCalled:NO];
[tab_model_ moveTab:[tab_model_ tabAtIndex:2] toIndex:0];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab1, [tab_model_ tabAtIndex:0]);
EXPECT_NSEQ(tab2, [tab_model_ tabAtIndex:1]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:2]);
- EXPECT_TRUE([tab_model_observer_ tabMovedWasCalled]);
+ EXPECT_TRUE([tab_model_observer tabMovedWasCalled]);
// Move a tab from index 2 to index 2 (move tab to the same index).
- [tab_model_observer_ setTabMovedWasCalled:NO];
+ [tab_model_observer setTabMovedWasCalled:NO];
[tab_model_ moveTab:[tab_model_ tabAtIndex:2] toIndex:2];
ASSERT_EQ(3U, [tab_model_ count]);
EXPECT_NSEQ(tab1, [tab_model_ tabAtIndex:0]);
EXPECT_NSEQ(tab2, [tab_model_ tabAtIndex:1]);
EXPECT_NSEQ(tab0, [tab_model_ tabAtIndex:2]);
- EXPECT_FALSE([tab_model_observer_ tabMovedWasCalled]);
+ EXPECT_FALSE([tab_model_observer tabMovedWasCalled]);
+
+ // TabModel asserts that there are no observer when it is deallocated,
+ // so remove the observer before the end of the method.
+ [tab_model_ removeObserver:tab_model_observer.get()];
}
TEST_F(TabModelTest, SetParentModel) {
@@ -1035,90 +1092,71 @@ TEST_F(TabModelTest, SetParentModel) {
}
TEST_F(TabModelTest, PersistSelectionChange) {
- TestChromeBrowserState::Builder test_cbs_builder;
- auto chrome_browser_state = test_cbs_builder.Build();
+ NSString* stashPath =
+ base::SysUTF8ToNSString(chrome_browser_state_->GetStatePath().value());
- // Tabs register some observers with the ChromeBrowserState in an ObserverList
- // that assert it is empty in its destructor. As Tab are Objective-C object,
- // it is necessary to use a local pool to ensure all autoreleased object that
- // may reference those Tabs are deallocated before the TestChromeBrowserState
- // is destroyed (this cannot use the TabModelTest ScopedNSAutoreleasePool as
- // it will be drained after the local variable chrome_browser_state).
- base::mac::ScopedNSAutoreleasePool pool;
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:nil
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:[tab_model_ tabAtIndex:0]
+ openedByDOM:NO
+ atIndex:[tab_model_ count]
+ inBackground:NO];
+ [tab_model_ insertTabWithURL:GURL(kURL1)
+ referrer:web::Referrer()
+ transition:ui::PAGE_TRANSITION_TYPED
+ opener:[tab_model_ tabAtIndex:1]
+ openedByDOM:NO
+ atIndex:0
+ inBackground:NO];
- NSString* stashPath =
- base::SysUTF8ToNSString(chrome_browser_state->GetStatePath().value());
-
- base::scoped_nsobject<TabModel> model([[TabModel alloc]
- initWithSessionWindow:session_window_.get()
- sessionService:[SessionServiceIOS sharedService]
- browserState:chrome_browser_state.get()]);
-
- [model insertTabWithURL:kURL
- referrer:kReferrer
- transition:ui::PAGE_TRANSITION_TYPED
- opener:nil
- openedByDOM:NO
- atIndex:[model count]
- inBackground:YES];
- [model insertTabWithURL:kURL
- referrer:kReferrer
- transition:ui::PAGE_TRANSITION_TYPED
- opener:[model tabAtIndex:0]
- openedByDOM:NO
- atIndex:[model count]
- inBackground:YES];
- [model insertTabWithURL:kURL
- referrer:kReferrer
- transition:ui::PAGE_TRANSITION_TYPED
- opener:[model tabAtIndex:1]
- openedByDOM:NO
- atIndex:0
- inBackground:YES];
-
- ASSERT_EQ(3U, [model count]);
- [model setCurrentTab:[model tabAtIndex:1]];
-
- EXPECT_EQ(nil, [model openerOfTab:[model tabAtIndex:1]]);
- EXPECT_EQ([model tabAtIndex:1], [model openerOfTab:[model tabAtIndex:2]]);
- EXPECT_EQ([model tabAtIndex:2], [model openerOfTab:[model tabAtIndex:0]]);
+ ASSERT_EQ(3U, [tab_model_ count]);
+ [tab_model_ setCurrentTab:[tab_model_ tabAtIndex:1]];
+
+ EXPECT_EQ(nil, [tab_model_ openerOfTab:[tab_model_ tabAtIndex:1]]);
+ EXPECT_EQ([tab_model_ tabAtIndex:1],
+ [tab_model_ openerOfTab:[tab_model_ tabAtIndex:2]]);
+ EXPECT_EQ([tab_model_ tabAtIndex:2],
+ [tab_model_ openerOfTab:[tab_model_ tabAtIndex:0]]);
// Force state to flush to disk on the main thread so it can be immediately
// tested below.
- SessionWindowIOS* window = [model windowForSavingSession];
+ SessionWindowIOS* window = [tab_model_ windowForSavingSession];
[[SessionServiceIOS sharedService] performSaveWindow:window
toDirectory:stashPath];
- [model browserStateDestroyed];
- model.reset();
+ [tab_model_ browserStateDestroyed];
+ tab_model_.reset();
// Restoring TabModel session sends asynchronous tasks to IO thread, wait
// for them to complete after destroying the TabModel.
base::RunLoop().RunUntilIdle();
SessionWindowIOS* sessionWindow = [[SessionServiceIOS sharedService]
- loadWindowForBrowserState:chrome_browser_state.get()];
+ loadWindowForBrowserState:chrome_browser_state_.get()];
// Create tab model from saved session.
base::scoped_nsobject<TestSessionService> test_service(
[[TestSessionService alloc] init]);
- model.reset([[TabModel alloc]
+ tab_model_.reset([[TabModel alloc]
initWithSessionWindow:sessionWindow
sessionService:test_service
- browserState:chrome_browser_state.get()]);
- ASSERT_EQ(3u, [model count]);
-
- EXPECT_EQ([model tabAtIndex:1], [model currentTab]);
- EXPECT_EQ(nil, [model openerOfTab:[model tabAtIndex:1]]);
- EXPECT_EQ([model tabAtIndex:1], [model openerOfTab:[model tabAtIndex:2]]);
- EXPECT_EQ([model tabAtIndex:2], [model openerOfTab:[model tabAtIndex:0]]);
-
- [model browserStateDestroyed];
- model.reset();
-
- // Restoring TabModel session sends asynchronous tasks to IO thread, wait
- // for them to complete after destroying the TabModel.
- base::RunLoop().RunUntilIdle();
+ browserState:chrome_browser_state_.get()]);
+ ASSERT_EQ(3u, [tab_model_ count]);
+
+ EXPECT_EQ([tab_model_ tabAtIndex:1], [tab_model_ currentTab]);
+ EXPECT_EQ(nil, [tab_model_ openerOfTab:[tab_model_ tabAtIndex:1]]);
+ EXPECT_EQ([tab_model_ tabAtIndex:1],
+ [tab_model_ openerOfTab:[tab_model_ tabAtIndex:2]]);
+ EXPECT_EQ([tab_model_ tabAtIndex:2],
+ [tab_model_ openerOfTab:[tab_model_ tabAtIndex:0]]);
// Clean up.
EXPECT_TRUE([[NSFileManager defaultManager] removeItemAtPath:stashPath
« no previous file with comments | « ios/chrome/browser/tabs/tab_model_observers_bridge.mm ('k') | ios/web/navigation/crw_session_controller_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698