Home | History | Annotate | Download | only in dom_storage
      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
      3 // found in the LICENSE file.
      4 
      5 #include "base/path_service.h"
      6 #include "content/browser/web_contents/web_contents_impl.h"
      7 #include "content/common/dom_storage/dom_storage_types.h"
      8 #include "content/public/common/content_paths.h"
      9 #include "content/public/test/browser_test_utils.h"
     10 #include "content/shell/shell.h"
     11 #include "content/test/content_browser_test.h"
     12 #include "content/test/content_browser_test_utils.h"
     13 #include "net/base/net_util.h"
     14 
     15 namespace content {
     16 
     17 // This browser test is aimed towards exercising the DOMStorage system
     18 // from end-to-end.
     19 class DOMStorageBrowserTest : public ContentBrowserTest {
     20  public:
     21   DOMStorageBrowserTest() {}
     22 
     23   void SimpleTest(const GURL& test_url, bool incognito) {
     24     // The test page will perform tests then navigate to either
     25     // a #pass or #fail ref.
     26     Shell* the_browser = incognito ? CreateOffTheRecordBrowser() : shell();
     27     NavigateToURLBlockUntilNavigationsComplete(the_browser, test_url, 2);
     28     std::string result = the_browser->web_contents()->GetURL().ref();
     29     if (result != "pass") {
     30       std::string js_result;
     31       ASSERT_TRUE(ExecuteScriptAndExtractString(
     32           the_browser->web_contents(),
     33           "window.domAutomationController.send(getLog())",
     34           &js_result));
     35       FAIL() << "Failed: " << js_result;
     36     }
     37   }
     38 };
     39 
     40 static const bool kIncognito = true;
     41 static const bool kNotIncognito = false;
     42 
     43 IN_PROC_BROWSER_TEST_F(DOMStorageBrowserTest, SanityCheck) {
     44   SimpleTest(GetTestUrl("dom_storage", "sanity_check.html"), kNotIncognito);
     45 }
     46 
     47 IN_PROC_BROWSER_TEST_F(DOMStorageBrowserTest, SanityCheckIncognito) {
     48   SimpleTest(GetTestUrl("dom_storage", "sanity_check.html"), kIncognito);
     49 }
     50 
     51 }  // namespace content
     52