Index: content/browser/worker_host/test/worker_browsertest.cc |
diff --git a/content/browser/worker_host/test/worker_browsertest.cc b/content/browser/worker_host/test/worker_browsertest.cc |
index 1e1913ed0d0de27c6f8a620e8962ff766906db7f..c37a1872cb91a8e841f859b9964005c54ec6b2da 100644 |
--- a/content/browser/worker_host/test/worker_browsertest.cc |
+++ b/content/browser/worker_host/test/worker_browsertest.cc |
@@ -23,6 +23,7 @@ |
#include "content/test/content_browser_test_utils.h" |
#include "content/test/layout_browsertest.h" |
#include "googleurl/src/gurl.h" |
+#include "net/test/test_server.h" |
using content::BrowserThread; |
using content::WorkerServiceImpl; |
@@ -221,37 +222,6 @@ IN_PROC_BROWSER_TEST_F(WorkerXHRHttpLayoutTest, Tests) { |
RunHttpLayoutTest(kLayoutTestFiles[i]); |
} |
-class WorkerWebSocketHttpLayoutTest : public InProcessBrowserLayoutTest { |
- public: |
- WorkerWebSocketHttpLayoutTest() : InProcessBrowserLayoutTest( |
- FilePath(), |
- FilePath().AppendASCII("http").AppendASCII("tests"). |
- AppendASCII("websocket").AppendASCII("tests").AppendASCII("hybi"). |
- AppendASCII("workers"), |
- -1) { |
- } |
-}; |
- |
-IN_PROC_BROWSER_TEST_F(WorkerWebSocketHttpLayoutTest, DISABLED_Tests) { |
- static const char* kLayoutTestFiles[] = { |
- "close-in-onmessage-crash.html", |
- "close-in-shared-worker.html", |
- "close-in-worker.html", |
- "shared-worker-simple.html", |
- "worker-handshake-challenge-randomness.html", |
- "worker-simple.html" |
- }; |
- |
- FilePath websocket_test_dir; |
- ASSERT_TRUE(PathService::Get(content::DIR_LAYOUT_TESTS, &websocket_test_dir)); |
- |
- content::TestWebSocketServer websocket_server; |
- ASSERT_TRUE(websocket_server.Start(websocket_test_dir)); |
- |
- for (size_t i = 0; i < arraysize(kLayoutTestFiles); ++i) |
- RunHttpLayoutTest(kLayoutTestFiles[i]); |
-} |
- |
class WorkerTest : public content::ContentBrowserTest { |
public: |
WorkerTest() {} |
@@ -480,3 +450,26 @@ IN_PROC_BROWSER_TEST_F(WorkerTest, DISABLED_QueuedSharedWorkerStartedFromOtherTa |
ASSERT_TRUE(WaitForWorkerProcessCount(max_workers_per_tab + 1)); |
} |
+ |
+IN_PROC_BROWSER_TEST_F(WorkerTest, WebSocketSharedWorker) { |
+ // Launch WebSocket server. |
+ net::TestServer ws_server(net::TestServer::TYPE_WS, |
+ net::TestServer::kLocalhost, |
+ FilePath(FILE_PATH_LITERAL("net/data/websocket"))); |
+ ASSERT_TRUE(ws_server.Start()); |
+ |
+ // Generate test URL. |
+ std::string scheme("http"); |
+ GURL::Replacements replacements; |
+ replacements.SetSchemeStr(scheme); |
+ GURL url = ws_server.GetURL( |
+ "websocket_shared_worker.html").ReplaceComponents(replacements); |
+ |
+ // Run test. |
+ content::Shell* window = shell(); |
+ const string16 expected_title = ASCIIToUTF16("OK"); |
+ content::TitleWatcher title_watcher(window->web_contents(), expected_title); |
+ content::NavigateToURL(window, url); |
+ string16 final_title = title_watcher.WaitAndGetTitle(); |
+ EXPECT_EQ(expected_title, final_title); |
+} |