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

Unified Diff: chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc

Issue 2534673002: [Offline pages] Create offliner that uses background loader (Closed)
Patch Set: test update Created 4 years 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: chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..066d1d11d10ae8a32b78887e2c52d64fa1c6fa5f
--- /dev/null
+++ b/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc
@@ -0,0 +1,94 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/android/offline_pages/background_loader_offliner.h"
+
+#include "components/offline_pages/content/background_loader/background_loader_contents_stub.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace offline_pages {
+
+namespace {
+
+const int64_t kRequestId = 7;
+const GURL kHttpUrl("http://tunafish.com");
+const GURL kFileUrl("file://salmon.png");
+const ClientId kClientId("AsyncLoading", "88");
+const bool kUserRequested = true;
+
+// A BackgroundLoader that we can run tests on.
+// Overrides the ResetState so we don't actually try to create any web contents.
+// This is a temporary solution to test core BackgroundLoaderOffliner
+// functionality until we straighten out assumptions made by RequestCoordinator
+// so that the ResetState method is no longer needed.
+class TestBackgroundLoaderOffliner
+ : public BackgroundLoaderOffliner {
+ public:
+ explicit TestBackgroundLoaderOffliner(
+ content::BrowserContext* browser_context,
+ const OfflinerPolicy* policy,
+ OfflinePageModel* offline_page_model);
+ ~TestBackgroundLoaderOffliner() override;
+ content::WebContents* web_contents() {
+ return BackgroundLoaderOffliner::loader_.get()->web_contents();
+ }
+
+ private:
+ void ResetState() override;
+};
+
+TestBackgroundLoaderOffliner::TestBackgroundLoaderOffliner(
+ content::BrowserContext* browser_context,
+ const OfflinerPolicy* policy,
+ OfflinePageModel* offline_page_model)
+ : BackgroundLoaderOffliner(browser_context,
+ policy,
+ offline_page_model) {}
+
+TestBackgroundLoaderOffliner::~TestBackgroundLoaderOffliner() {
+ BackgroundLoaderOffliner::~BackgroundLoaderOffliner();
+}
+
+void TestBackgroundLoaderOffliner::ResetState() {
+ BackgroundLoaderOffliner::loader_.reset(
+ new BackgroundLoaderContentsStub());
+}
+} // namespace
+
+class BackgroundLoaderOfflinerTest : public testing::Test {
+ public:
+ BackgroundLoaderOfflinerTest();
+ ~BackgroundLoaderOfflinerTest() override;
+
+ void SetUp() override;
+
+ BackgroundLoaderOffliner* offliner() const { return offliner_.get(); }
+ Profile* profile() { return &profile_; }
+
+ private:
+ TestingProfile profile_;
+ std::unique_ptr<TestBackgroundLoaderOffliner> offliner_;
+ MockOfflinePageModel* model_;
+
+ DISALLOW_COPY_AND_ASSIGN(BackgroundLoaderOfflinerTest);
+};
+
+BackgroundLoaderOfflinerTest::BackgroundLoaderOfflinerTest() {}
+
+BackgroundLoaderOfflinerTest::~BackgroundLoaderOfflinerTest() {}
+
+void BackgroundLoaderOfflinerTest::SetUp() {
+ model_ = new MockOfflinePageModel();
+ offliner_.reset(new TestBackgroundLoaderOffliner(profile(), nullptr, model_));
+}
+
+TEST_F(BackgroundLoaderOfflinerTest, LoadAndSaveUrl) {
+ base::Time creation_time = base::Time::Now();
+ SavePageRequest request(
+ kRequestId, kFileUrl, kClientId, creation_time, kUserRequested);
+
+}
+
+
+} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698