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

Side by Side Diff: content/browser/indexed_db/indexed_db_browsertest.cc

Issue 1363993003: Indexed DB: Ship getAll() and friends (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Drop unneeded ExpermentalAPIs test subclass Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/files/file.h" 7 #include "base/files/file.h"
8 #include "base/files/file_enumerator.h" 8 #include "base/files/file_enumerator.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 29 matching lines...) Expand all
40 #include "storage/browser/quota/quota_manager.h" 40 #include "storage/browser/quota/quota_manager.h"
41 41
42 using base::ASCIIToUTF16; 42 using base::ASCIIToUTF16;
43 using storage::QuotaManager; 43 using storage::QuotaManager;
44 using storage::DatabaseUtil; 44 using storage::DatabaseUtil;
45 45
46 namespace content { 46 namespace content {
47 47
48 // This browser test is aimed towards exercising the IndexedDB bindings and 48 // This browser test is aimed towards exercising the IndexedDB bindings and
49 // the actual implementation that lives in the browser side. 49 // the actual implementation that lives in the browser side.
50 class IndexedDBBrowserTest : public ContentBrowserTest { 50 class IndexedDBBrowserTest : public ContentBrowserTest,
51 public ::testing::WithParamInterface<const char*> {
51 public: 52 public:
52 IndexedDBBrowserTest() : disk_usage_(-1) {} 53 IndexedDBBrowserTest() : disk_usage_(-1) {}
53 54
54 void SetUp() override { 55 void SetUp() override {
55 GetTestClassFactory()->Reset(); 56 GetTestClassFactory()->Reset();
56 IndexedDBClassFactory::SetIndexedDBClassFactoryGetter(GetIDBClassFactory); 57 IndexedDBClassFactory::SetIndexedDBClassFactoryGetter(GetIDBClassFactory);
57 ContentBrowserTest::SetUp(); 58 ContentBrowserTest::SetUp();
58 } 59 }
59 60
60 void TearDown() override { 61 void TearDown() override {
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 181 }
181 182
182 virtual void DidGetBlobFileCount(int count) { blob_file_count_ = count; } 183 virtual void DidGetBlobFileCount(int count) { blob_file_count_ = count; }
183 184
184 int64 disk_usage_; 185 int64 disk_usage_;
185 int blob_file_count_ = 0; 186 int blob_file_count_ = 0;
186 187
187 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTest); 188 DISALLOW_COPY_AND_ASSIGN(IndexedDBBrowserTest);
188 }; 189 };
189 190
190 class IndexedDBBrowserTestWithExperimentalAPIs
191 : public IndexedDBBrowserTest,
192 public ::testing::WithParamInterface<const char*> {
193 public:
194 void SetUpCommandLine(base::CommandLine* command_line) override {
195 command_line->AppendSwitch(
196 switches::kEnableExperimentalWebPlatformFeatures);
197 }
198 };
199
200 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CursorTest) { 191 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CursorTest) {
201 SimpleTest(GetTestUrl("indexeddb", "cursor_test.html")); 192 SimpleTest(GetTestUrl("indexeddb", "cursor_test.html"));
202 } 193 }
203 194
204 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CursorTestIncognito) { 195 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CursorTestIncognito) {
205 SimpleTest(GetTestUrl("indexeddb", "cursor_test.html"), 196 SimpleTest(GetTestUrl("indexeddb", "cursor_test.html"),
206 true /* incognito */); 197 true /* incognito */);
207 } 198 }
208 199
209 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CursorPrefetch) { 200 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CursorPrefetch) {
(...skipping 25 matching lines...) Expand all
235 } 226 }
236 227
237 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, TransactionTest) { 228 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, TransactionTest) {
238 SimpleTest(GetTestUrl("indexeddb", "transaction_test.html")); 229 SimpleTest(GetTestUrl("indexeddb", "transaction_test.html"));
239 } 230 }
240 231
241 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CallbackAccounting) { 232 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, CallbackAccounting) {
242 SimpleTest(GetTestUrl("indexeddb", "callback_accounting.html")); 233 SimpleTest(GetTestUrl("indexeddb", "callback_accounting.html"));
243 } 234 }
244 235
245 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestWithExperimentalAPIs, 236 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, GetAllMaxMessageSize) {
246 GetAllMaxMessageSize) {
247 SimpleTest(GetTestUrl("indexeddb", "getall_max_message_size.html")); 237 SimpleTest(GetTestUrl("indexeddb", "getall_max_message_size.html"));
248 } 238 }
249 239
250 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, DoesntHangTest) { 240 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, DoesntHangTest) {
251 SimpleTest(GetTestUrl("indexeddb", "transaction_run_forever.html")); 241 SimpleTest(GetTestUrl("indexeddb", "transaction_run_forever.html"));
252 CrashTab(shell()->web_contents()); 242 CrashTab(shell()->web_contents());
253 SimpleTest(GetTestUrl("indexeddb", "transaction_not_blocked.html")); 243 SimpleTest(GetTestUrl("indexeddb", "transaction_not_blocked.html"));
254 } 244 }
255 245
256 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, Bug84933Test) { 246 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, Bug84933Test) {
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 http_response->set_code(net::HTTP_OK); 684 http_response->set_code(net::HTTP_OK);
695 std::string file_contents; 685 std::string file_contents;
696 if (!base::ReadFileToString(resource_path, &file_contents)) 686 if (!base::ReadFileToString(resource_path, &file_contents))
697 return scoped_ptr<net::test_server::HttpResponse>(); 687 return scoped_ptr<net::test_server::HttpResponse>();
698 http_response->set_content(file_contents); 688 http_response->set_content(file_contents);
699 return http_response.Pass(); 689 return http_response.Pass();
700 } 690 }
701 691
702 } // namespace 692 } // namespace
703 693
704 // Experimental for IDBObjectStore.getAll() 694 IN_PROC_BROWSER_TEST_P(IndexedDBBrowserTest, OperationOnCorruptedOpenDatabase) {
705 using IndexedDBBrowserCorruptionTest = IndexedDBBrowserTestWithExperimentalAPIs;
706
707 IN_PROC_BROWSER_TEST_P(IndexedDBBrowserCorruptionTest,
708 OperationOnCorruptedOpenDatabase) {
709 ASSERT_TRUE(embedded_test_server()->Started() || 695 ASSERT_TRUE(embedded_test_server()->Started() ||
710 embedded_test_server()->InitializeAndWaitUntilReady()); 696 embedded_test_server()->InitializeAndWaitUntilReady());
711 const GURL& origin_url = embedded_test_server()->base_url(); 697 const GURL& origin_url = embedded_test_server()->base_url();
712 embedded_test_server()->RegisterRequestHandler( 698 embedded_test_server()->RegisterRequestHandler(
713 base::Bind(&CorruptDBRequestHandler, 699 base::Bind(&CorruptDBRequestHandler,
714 base::Unretained(GetContext()), 700 base::Unretained(GetContext()),
715 origin_url, 701 origin_url,
716 s_corrupt_db_test_prefix, 702 s_corrupt_db_test_prefix,
717 this)); 703 this));
718 704
719 std::string test_file = s_corrupt_db_test_prefix + 705 std::string test_file = s_corrupt_db_test_prefix +
720 "corrupted_open_db_detection.html#" + GetParam(); 706 "corrupted_open_db_detection.html#" + GetParam();
721 SimpleTest(embedded_test_server()->GetURL(test_file)); 707 SimpleTest(embedded_test_server()->GetURL(test_file));
722 708
723 test_file = s_corrupt_db_test_prefix + "corrupted_open_db_recovery.html"; 709 test_file = s_corrupt_db_test_prefix + "corrupted_open_db_recovery.html";
724 SimpleTest(embedded_test_server()->GetURL(test_file)); 710 SimpleTest(embedded_test_server()->GetURL(test_file));
725 } 711 }
726 712
727 INSTANTIATE_TEST_CASE_P(IndexedDBBrowserCorruptionTestInstantiation, 713 INSTANTIATE_TEST_CASE_P(IndexedDBBrowserTestInstantiation,
728 IndexedDBBrowserCorruptionTest, 714 IndexedDBBrowserTest,
729 ::testing::Values("failGetBlobJournal", 715 ::testing::Values("failGetBlobJournal",
730 "get", 716 "get",
731 "getAll", 717 "getAll",
732 "failWebkitGetDatabaseNames", 718 "failWebkitGetDatabaseNames",
733 "iterate", 719 "iterate",
734 "failTransactionCommit", 720 "failTransactionCommit",
735 "clearObjectStore")); 721 "clearObjectStore"));
736 722
737 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest, 723 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTest,
738 DeleteCompactsBackingStore) { 724 DeleteCompactsBackingStore) {
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 command_line->AppendSwitch(switches::kSingleProcess); 835 command_line->AppendSwitch(switches::kSingleProcess);
850 } 836 }
851 }; 837 };
852 838
853 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestSingleProcess, 839 IN_PROC_BROWSER_TEST_F(IndexedDBBrowserTestSingleProcess,
854 RenderThreadShutdownTest) { 840 RenderThreadShutdownTest) {
855 SimpleTest(GetTestUrl("indexeddb", "shutdown_with_requests.html")); 841 SimpleTest(GetTestUrl("indexeddb", "shutdown_with_requests.html"));
856 } 842 }
857 843
858 } // namespace content 844 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698