summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sessions/session_service_unittest.cc
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-10 20:30:10 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-10 20:30:10 +0000
commitfca656cb7bd5737a18c809d8f44edc6a99e6bb9a (patch)
tree477a3061a64a4f845642c7de780864214201e3f0 /chrome/browser/sessions/session_service_unittest.cc
parent381f69ad5478d24e5bbb448727c05379204c87d3 (diff)
downloadchromium_src-fca656cb7bd5737a18c809d8f44edc6a99e6bb9a.zip
chromium_src-fca656cb7bd5737a18c809d8f44edc6a99e6bb9a.tar.gz
chromium_src-fca656cb7bd5737a18c809d8f44edc6a99e6bb9a.tar.bz2
Adds code to restore application extensions. I'm also enabling tab
pinning on views again as everything in place, except a couple of bugs. BUG=32845 TEST=none Review URL: http://codereview.chromium.org/598027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38657 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sessions/session_service_unittest.cc')
-rw-r--r--chrome/browser/sessions/session_service_unittest.cc30
1 files changed, 28 insertions, 2 deletions
diff --git a/chrome/browser/sessions/session_service_unittest.cc b/chrome/browser/sessions/session_service_unittest.cc
index 25fc8ad..8d2a9da 100644
--- a/chrome/browser/sessions/session_service_unittest.cc
+++ b/chrome/browser/sessions/session_service_unittest.cc
@@ -9,6 +9,7 @@
#include "base/stl_util-inl.h"
#include "base/string_util.h"
#include "base/time.h"
+#include "chrome/browser/defaults.h"
#include "chrome/browser/sessions/session_backend.h"
#include "chrome/browser/sessions/session_service.h"
#include "chrome/browser/sessions/session_service_test_helper.h"
@@ -510,6 +511,9 @@ TEST_F(SessionServiceTest, PruneFromFront) {
ASSERT_EQ(window_id.id(), windows[0]->window_id.id());
ASSERT_EQ(1U, windows[0]->tabs.size());
+ // There shouldn't be an app id.
+ EXPECT_TRUE(windows[0]->tabs[0]->app_extension_id.empty());
+
// We should be left with three navigations, the 2nd selected.
SessionTab* tab = windows[0]->tabs[0];
ASSERT_EQ(1, tab->current_navigation_index);
@@ -553,9 +557,31 @@ TEST_F(SessionServiceTest, PinnedFalseWhenSetToFalse) {
EXPECT_FALSE(CreateAndWriteSessionWithOneTab(false, true));
}
-#if defined(ENABLE_PINNED_TABS)
+// Make sure application extension ids are persisted.
+TEST_F(SessionServiceTest, PersistApplicationExtensionID) {
+ SessionID tab_id;
+ ASSERT_NE(window_id.id(), tab_id.id());
+ std::string app_id("foo");
+
+ TabNavigation nav1(0, GURL("http://google.com"), GURL(),
+ ASCIIToUTF16("abc"), std::string(),
+ PageTransition::QUALIFIER_MASK);
+
+ helper_.PrepareTabInWindow(window_id, tab_id, 0, true);
+ UpdateNavigation(window_id, tab_id, nav1, 0, true);
+ helper_.SetTabAppExtensionID(window_id, tab_id, app_id);
+
+ ScopedVector<SessionWindow> windows;
+ ReadWindows(&(windows.get()));
+
+ helper_.AssertSingleWindowWithSingleTab(windows.get(), 1);
+ EXPECT_TRUE(app_id == windows[0]->tabs[0]->app_extension_id);
+}
+
// Explicitly set the pinned state to true and make sure we get back true.
TEST_F(SessionServiceTest, PinnedTrue) {
+ if (!browser_defaults::kEnablePinnedTabs)
+ return;
+
EXPECT_TRUE(CreateAndWriteSessionWithOneTab(true, true));
}
-#endif