OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/sessions/core/session_types.h" | 5 #include "components/sessions/core/session_types.h" |
6 | 6 |
7 #include <cstddef> | 7 #include <cstddef> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 sync_data.set_current_navigation_index(3); | 30 sync_data.set_current_navigation_index(3); |
31 sync_data.set_pinned(true); | 31 sync_data.set_pinned(true); |
32 sync_data.set_extension_app_id("app_id"); | 32 sync_data.set_extension_app_id("app_id"); |
33 for (int i = 0; i < 5; ++i) { | 33 for (int i = 0; i < 5; ++i) { |
34 sync_pb::TabNavigation* navigation = sync_data.add_navigation(); | 34 sync_pb::TabNavigation* navigation = sync_data.add_navigation(); |
35 navigation->set_virtual_url("http://foo/" + base::IntToString(i)); | 35 navigation->set_virtual_url("http://foo/" + base::IntToString(i)); |
36 navigation->set_referrer("referrer"); | 36 navigation->set_referrer("referrer"); |
37 navigation->set_title("title"); | 37 navigation->set_title("title"); |
38 navigation->set_page_transition(sync_pb::SyncEnums_PageTransition_TYPED); | 38 navigation->set_page_transition(sync_pb::SyncEnums_PageTransition_TYPED); |
39 } | 39 } |
40 sync_data.add_variation_id(3312238); | |
41 sync_data.add_variation_id(3312242); | |
42 | 40 |
43 sessions::SessionTab tab; | 41 sessions::SessionTab tab; |
44 tab.window_id.set_id(100); | 42 tab.window_id.set_id(100); |
45 tab.tab_id.set_id(100); | 43 tab.tab_id.set_id(100); |
46 tab.tab_visual_index = 100; | 44 tab.tab_visual_index = 100; |
47 tab.current_navigation_index = 1000; | 45 tab.current_navigation_index = 1000; |
48 tab.pinned = false; | 46 tab.pinned = false; |
49 tab.extension_app_id = "fake"; | 47 tab.extension_app_id = "fake"; |
50 tab.user_agent_override = "fake"; | 48 tab.user_agent_override = "fake"; |
51 tab.timestamp = base::Time::FromInternalValue(100); | 49 tab.timestamp = base::Time::FromInternalValue(100); |
(...skipping 12 matching lines...) Expand all Loading... |
64 ASSERT_EQ(5u, tab.navigations.size()); | 62 ASSERT_EQ(5u, tab.navigations.size()); |
65 for (int i = 0; i < 5; ++i) { | 63 for (int i = 0; i < 5; ++i) { |
66 EXPECT_EQ(i, tab.navigations[i].index()); | 64 EXPECT_EQ(i, tab.navigations[i].index()); |
67 EXPECT_EQ(GURL("referrer"), tab.navigations[i].referrer_url()); | 65 EXPECT_EQ(GURL("referrer"), tab.navigations[i].referrer_url()); |
68 EXPECT_EQ(base::ASCIIToUTF16("title"),tab.navigations[i].title()); | 66 EXPECT_EQ(base::ASCIIToUTF16("title"),tab.navigations[i].title()); |
69 EXPECT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs( | 67 EXPECT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs( |
70 tab.navigations[i].transition_type(), ui::PAGE_TRANSITION_TYPED)); | 68 tab.navigations[i].transition_type(), ui::PAGE_TRANSITION_TYPED)); |
71 EXPECT_EQ(GURL("http://foo/" + base::IntToString(i)), | 69 EXPECT_EQ(GURL("http://foo/" + base::IntToString(i)), |
72 tab.navigations[i].virtual_url()); | 70 tab.navigations[i].virtual_url()); |
73 } | 71 } |
74 ASSERT_EQ(2u, tab.variation_ids.size()); | |
75 EXPECT_EQ(3312238, tab.variation_ids[0]); | |
76 EXPECT_EQ(3312242, tab.variation_ids[1]); | |
77 EXPECT_TRUE(tab.session_storage_persistent_id.empty()); | 72 EXPECT_TRUE(tab.session_storage_persistent_id.empty()); |
78 } | 73 } |
79 | 74 |
80 TEST(SessionTab, ToSyncData) { | 75 TEST(SessionTab, ToSyncData) { |
81 sessions::SessionTab tab; | 76 sessions::SessionTab tab; |
82 tab.window_id.set_id(10); | 77 tab.window_id.set_id(10); |
83 tab.tab_id.set_id(5); | 78 tab.tab_id.set_id(5); |
84 tab.tab_visual_index = 13; | 79 tab.tab_visual_index = 13; |
85 tab.current_navigation_index = 3; | 80 tab.current_navigation_index = 3; |
86 tab.pinned = true; | 81 tab.pinned = true; |
87 tab.extension_app_id = "app_id"; | 82 tab.extension_app_id = "app_id"; |
88 tab.user_agent_override = "fake"; | 83 tab.user_agent_override = "fake"; |
89 tab.timestamp = base::Time::FromInternalValue(100); | 84 tab.timestamp = base::Time::FromInternalValue(100); |
90 for (int i = 0; i < 5; ++i) { | 85 for (int i = 0; i < 5; ++i) { |
91 tab.navigations.push_back( | 86 tab.navigations.push_back( |
92 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( | 87 sessions::SerializedNavigationEntryTestHelper::CreateNavigation( |
93 "http://foo/" + base::IntToString(i), "title")); | 88 "http://foo/" + base::IntToString(i), "title")); |
94 } | 89 } |
95 tab.session_storage_persistent_id = "fake"; | 90 tab.session_storage_persistent_id = "fake"; |
96 tab.variation_ids.push_back(3312238); | |
97 tab.variation_ids.push_back(3312242); | |
98 | 91 |
99 const sync_pb::SessionTab& sync_data = tab.ToSyncData(); | 92 const sync_pb::SessionTab& sync_data = tab.ToSyncData(); |
100 EXPECT_EQ(5, sync_data.tab_id()); | 93 EXPECT_EQ(5, sync_data.tab_id()); |
101 EXPECT_EQ(10, sync_data.window_id()); | 94 EXPECT_EQ(10, sync_data.window_id()); |
102 EXPECT_EQ(13, sync_data.tab_visual_index()); | 95 EXPECT_EQ(13, sync_data.tab_visual_index()); |
103 EXPECT_EQ(3, sync_data.current_navigation_index()); | 96 EXPECT_EQ(3, sync_data.current_navigation_index()); |
104 EXPECT_TRUE(sync_data.pinned()); | 97 EXPECT_TRUE(sync_data.pinned()); |
105 EXPECT_EQ("app_id", sync_data.extension_app_id()); | 98 EXPECT_EQ("app_id", sync_data.extension_app_id()); |
106 ASSERT_EQ(5, sync_data.navigation_size()); | 99 ASSERT_EQ(5, sync_data.navigation_size()); |
107 for (int i = 0; i < 5; ++i) { | 100 for (int i = 0; i < 5; ++i) { |
108 EXPECT_EQ(tab.navigations[i].virtual_url().spec(), | 101 EXPECT_EQ(tab.navigations[i].virtual_url().spec(), |
109 sync_data.navigation(i).virtual_url()); | 102 sync_data.navigation(i).virtual_url()); |
110 EXPECT_EQ(base::UTF16ToUTF8(tab.navigations[i].title()), | 103 EXPECT_EQ(base::UTF16ToUTF8(tab.navigations[i].title()), |
111 sync_data.navigation(i).title()); | 104 sync_data.navigation(i).title()); |
112 } | 105 } |
113 EXPECT_FALSE(sync_data.has_favicon()); | 106 EXPECT_FALSE(sync_data.has_favicon()); |
114 EXPECT_FALSE(sync_data.has_favicon_type()); | 107 EXPECT_FALSE(sync_data.has_favicon_type()); |
115 EXPECT_FALSE(sync_data.has_favicon_source()); | 108 EXPECT_FALSE(sync_data.has_favicon_source()); |
116 | |
117 ASSERT_EQ(2, sync_data.variation_id_size()); | |
118 EXPECT_EQ(3312238u, sync_data.variation_id(0)); | |
119 EXPECT_EQ(3312242u, sync_data.variation_id(1)); | |
120 } | 109 } |
121 | 110 |
122 } // namespace | 111 } // namespace |
OLD | NEW |