Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/android/offline_pages/offline_page_utils.h" | 5 #include "chrome/browser/android/offline_pages/offline_page_utils.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 46 class OfflinePageUtilsTest | 46 class OfflinePageUtilsTest |
| 47 : public testing::Test, | 47 : public testing::Test, |
| 48 public OfflinePageTestArchiver::Observer, | 48 public OfflinePageTestArchiver::Observer, |
| 49 public base::SupportsWeakPtr<OfflinePageUtilsTest> { | 49 public base::SupportsWeakPtr<OfflinePageUtilsTest> { |
| 50 public: | 50 public: |
| 51 OfflinePageUtilsTest(); | 51 OfflinePageUtilsTest(); |
| 52 ~OfflinePageUtilsTest() override; | 52 ~OfflinePageUtilsTest() override; |
| 53 | 53 |
| 54 void SetUp() override; | 54 void SetUp() override; |
| 55 void RunUntilIdle(); | 55 void RunUntilIdle(); |
| 56 GURL GetOfflineURLForOnlineURL(GURL online_url, | |
| 57 base::Callback<void(const GURL&)> callback); | |
|
fgorski
2016/06/10 04:46:24
nit: you need to set up your editor to convert tab
Vivian
2016/06/10 17:38:14
Done.
I used git cl format for now. Will set up ed
| |
| 56 | 58 |
| 57 // Necessary callbacks for the offline page model. | 59 // Necessary callbacks for the offline page model. |
| 58 void OnSavePageDone(SavePageResult result, int64_t offlineId); | 60 void OnSavePageDone(SavePageResult result, int64_t offlineId); |
| 59 void OnClearAllDone(); | 61 void OnClearAllDone(); |
| 60 void OnExpirePageDone(bool success); | 62 void OnExpirePageDone(bool success); |
| 63 void OnGetURLDone(const GURL& url); | |
| 61 | 64 |
| 62 // OfflinePageTestArchiver::Observer implementation: | 65 // OfflinePageTestArchiver::Observer implementation: |
| 63 void SetLastPathCreatedByArchiver(const base::FilePath& file_path) override; | 66 void SetLastPathCreatedByArchiver(const base::FilePath& file_path) override; |
| 64 | 67 |
| 65 // Offline page URL for the first page. | 68 // Offline page URL for the first page. |
| 66 const GURL& offline_url_page_1() const { return offline_url_page_1_; } | 69 const GURL& offline_url_page_1() const { return offline_url_page_1_; } |
| 67 // Offline page URL for the second page. | 70 // Offline page URL for the second page. |
| 68 const GURL& offline_url_page_2() const { return offline_url_page_2_; } | 71 const GURL& offline_url_page_2() const { return offline_url_page_2_; } |
| 69 // Offline page URL not related to any page. | 72 // Offline page URL not related to any page. |
| 70 const GURL& offline_url_missing() const { return offline_url_missing_; } | 73 const GURL& offline_url_missing() const { return offline_url_missing_; } |
| 71 // Offline page URL for expired page. | 74 // Offline page URL for expired page. |
| 72 const GURL& offline_url_expired() const { return offline_url_expired_; } | 75 const GURL& offline_url_expired() const { return offline_url_expired_; } |
| 73 | 76 |
| 74 TestingProfile* profile() { return &profile_; } | 77 TestingProfile* profile() { return &profile_; } |
| 75 | 78 |
| 76 int64_t offline_id() const { return offline_id_; } | 79 int64_t offline_id() const { return offline_id_; } |
| 77 | 80 |
| 81 const GURL& url() { return url_; } | |
|
fgorski
2016/06/10 04:46:24
nit: Signature of this method can be updated.
cons
Vivian
2016/06/10 17:38:15
Done.
| |
| 82 | |
| 78 private: | 83 private: |
| 79 void CreateOfflinePages(); | 84 void CreateOfflinePages(); |
| 80 std::unique_ptr<OfflinePageTestArchiver> BuildArchiver( | 85 std::unique_ptr<OfflinePageTestArchiver> BuildArchiver( |
| 81 const GURL& url, | 86 const GURL& url, |
| 82 const base::FilePath& file_name); | 87 const base::FilePath& file_name); |
| 83 | 88 |
| 84 GURL offline_url_page_1_; | 89 GURL offline_url_page_1_; |
| 85 GURL offline_url_page_2_; | 90 GURL offline_url_page_2_; |
| 86 GURL offline_url_missing_; | 91 GURL offline_url_missing_; |
| 87 GURL offline_url_expired_; | 92 GURL offline_url_expired_; |
| 88 | 93 |
| 89 int64_t offline_id_; | 94 int64_t offline_id_; |
| 95 GURL url_; | |
| 90 | 96 |
| 91 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; | 97 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
| 92 base::ThreadTaskRunnerHandle task_runner_handle_; | 98 base::ThreadTaskRunnerHandle task_runner_handle_; |
| 93 TestingProfile profile_; | 99 TestingProfile profile_; |
| 94 }; | 100 }; |
| 95 | 101 |
| 96 OfflinePageUtilsTest::OfflinePageUtilsTest() | 102 OfflinePageUtilsTest::OfflinePageUtilsTest() |
| 97 : task_runner_(new base::TestSimpleTaskRunner), | 103 : task_runner_(new base::TestSimpleTaskRunner), |
| 98 task_runner_handle_(task_runner_) {} | 104 task_runner_handle_(task_runner_) {} |
| 99 | 105 |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 128 } | 134 } |
| 129 | 135 |
| 130 void OfflinePageUtilsTest::OnExpirePageDone(bool success) { | 136 void OfflinePageUtilsTest::OnExpirePageDone(bool success) { |
| 131 // Result ignored here. | 137 // Result ignored here. |
| 132 } | 138 } |
| 133 | 139 |
| 134 void OfflinePageUtilsTest::OnClearAllDone() { | 140 void OfflinePageUtilsTest::OnClearAllDone() { |
| 135 // Result ignored here. | 141 // Result ignored here. |
| 136 } | 142 } |
| 137 | 143 |
| 144 void OfflinePageUtilsTest::OnGetURLDone(const GURL& url) { | |
| 145 url_ = url; | |
| 146 } | |
| 147 | |
| 148 GURL OfflinePageUtilsTest::GetOfflineURLForOnlineURL(GURL online_url, | |
| 149 base::Callback<void(const G URL&)> callback) { | |
|
fgorski
2016/06/10 04:46:25
This line is too long. Again "git cl format" handl
Vivian
2016/06/10 17:38:14
Done.
| |
| 150 OfflinePageUtils::GetOfflineURLForOnlineURL(profile(), online_url, callback); | |
| 151 RunUntilIdle(); | |
| 152 return url(); | |
|
fgorski
2016/06/10 04:46:24
return url_;
This should work for you.
Vivian
2016/06/10 17:38:15
Done.
| |
| 153 } | |
| 154 | |
| 138 void OfflinePageUtilsTest::SetLastPathCreatedByArchiver( | 155 void OfflinePageUtilsTest::SetLastPathCreatedByArchiver( |
| 139 const base::FilePath& file_path) {} | 156 const base::FilePath& file_path) {} |
| 140 | 157 |
| 141 void OfflinePageUtilsTest::CreateOfflinePages() { | 158 void OfflinePageUtilsTest::CreateOfflinePages() { |
| 142 OfflinePageModel* model = | 159 OfflinePageModel* model = |
| 143 OfflinePageModelFactory::GetForBrowserContext(profile()); | 160 OfflinePageModelFactory::GetForBrowserContext(profile()); |
| 144 | 161 |
| 145 // Create page 1. | 162 // Create page 1. |
| 146 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( | 163 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
| 147 kTestPage1Url, base::FilePath(FILE_PATH_LITERAL("page1.mhtml")))); | 164 kTestPage1Url, base::FilePath(FILE_PATH_LITERAL("page1.mhtml")))); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 204 // URL is invalid. | 221 // URL is invalid. |
| 205 EXPECT_FALSE(OfflinePageUtils::MightBeOfflineURL(GURL("/test.mhtml"))); | 222 EXPECT_FALSE(OfflinePageUtils::MightBeOfflineURL(GURL("/test.mhtml"))); |
| 206 // Scheme is not file. | 223 // Scheme is not file. |
| 207 EXPECT_FALSE(OfflinePageUtils::MightBeOfflineURL(GURL("http://test.com/"))); | 224 EXPECT_FALSE(OfflinePageUtils::MightBeOfflineURL(GURL("http://test.com/"))); |
| 208 // Does not end with .mhtml. | 225 // Does not end with .mhtml. |
| 209 EXPECT_FALSE(OfflinePageUtils::MightBeOfflineURL(GURL("file:///test.txt"))); | 226 EXPECT_FALSE(OfflinePageUtils::MightBeOfflineURL(GURL("file:///test.txt"))); |
| 210 // Might still be an offline page. | 227 // Might still be an offline page. |
| 211 EXPECT_TRUE(OfflinePageUtils::MightBeOfflineURL(GURL("file:///test.mhtml"))); | 228 EXPECT_TRUE(OfflinePageUtils::MightBeOfflineURL(GURL("file:///test.mhtml"))); |
| 212 } | 229 } |
| 213 | 230 |
| 214 TEST_F(OfflinePageUtilsTest, MaybeGetOfflineURLForOnlineURL) { | 231 TEST_F(OfflinePageUtilsTest, GetOfflineURLForOnlineURL) { |
| 215 EXPECT_EQ(offline_url_page_1(), | 232 EXPECT_EQ(offline_url_page_1(), OfflinePageUtilsTest::GetOfflineURLForOnlineUR L( |
| 216 OfflinePageUtils::MaybeGetOfflineURLForOnlineURL(profile(), | 233 kTestPage1Url, base::Bind(&OfflinePageUtilsTest::OnGetURLDone, AsWeakPtr() ))); |
|
fgorski
2016/06/10 04:46:25
Lines in this test are too long as well.
Vivian
2016/06/10 17:38:15
Done.
| |
| 217 kTestPage1Url)); | 234 |
| 218 EXPECT_EQ(offline_url_page_2(), | 235 EXPECT_EQ(offline_url_page_2(), OfflinePageUtilsTest::GetOfflineURLForOnlineUR L( |
| 219 OfflinePageUtils::MaybeGetOfflineURLForOnlineURL(profile(), | 236 kTestPage2Url, base::Bind(&OfflinePageUtilsTest::OnGetURLDone, AsWeakPtr() ))); |
| 220 kTestPage2Url)); | 237 |
| 221 EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOfflineURLForOnlineURL( | 238 EXPECT_EQ(GURL(), OfflinePageUtilsTest::GetOfflineURLForOnlineURL( |
| 222 profile(), kTestPage3Url)); | 239 kTestPage3Url, base::Bind(&OfflinePageUtilsTest::OnGetURLDone, AsWeakPtr() ))); |
|
fgorski
2016/06/10 04:46:24
Please use GURL::EmptyGURL() in place of GURL()
A
Vivian
2016/06/10 17:38:15
Done.
| |
| 223 EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOfflineURLForOnlineURL( | |
| 224 profile(), kTestPage4Url)); | |
| 225 } | 240 } |
| 226 | 241 |
| 242 | |
|
fgorski
2016/06/10 04:46:25
nit: use one empty line only to separate methods.
Vivian
2016/06/10 17:38:14
Done.
| |
| 227 TEST_F(OfflinePageUtilsTest, MaybeGetOnlineURLForOfflineURL) { | 243 TEST_F(OfflinePageUtilsTest, MaybeGetOnlineURLForOfflineURL) { |
| 228 EXPECT_EQ(kTestPage1Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( | 244 EXPECT_EQ(kTestPage1Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( |
| 229 profile(), offline_url_page_1())); | 245 profile(), offline_url_page_1())); |
| 230 EXPECT_EQ(kTestPage2Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( | 246 EXPECT_EQ(kTestPage2Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( |
| 231 profile(), offline_url_page_2())); | 247 profile(), offline_url_page_2())); |
| 232 EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( | 248 EXPECT_EQ(GURL::EmptyGURL(), OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( |
| 233 profile(), offline_url_missing())); | 249 profile(), offline_url_missing())); |
| 234 EXPECT_EQ(kTestPage4Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( | 250 EXPECT_EQ(kTestPage4Url, OfflinePageUtils::MaybeGetOnlineURLForOfflineURL( |
| 235 profile(), offline_url_expired())); | 251 profile(), offline_url_expired())); |
| 236 } | 252 } |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 252 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage1Url)); | 268 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage1Url)); |
| 253 EXPECT_TRUE( | 269 EXPECT_TRUE( |
| 254 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage2Url)); | 270 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage2Url)); |
| 255 EXPECT_FALSE( | 271 EXPECT_FALSE( |
| 256 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage3Url)); | 272 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage3Url)); |
| 257 EXPECT_FALSE( | 273 EXPECT_FALSE( |
| 258 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage4Url)); | 274 OfflinePageUtils::HasOfflinePageForOnlineURL(profile(), kTestPage4Url)); |
| 259 } | 275 } |
| 260 | 276 |
| 261 } // namespace offline_pages | 277 } // namespace offline_pages |
| OLD | NEW |