OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #undef LOG | 9 #undef LOG |
10 | 10 |
11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
12 #include "net/url_request/url_request_unittest.h" | 12 #include "net/url_request/url_request_unittest.h" |
13 #include "webkit/glue/unittest_test_server.h" | 13 #include "webkit/glue/unittest_test_server.h" |
14 #include "webkit/glue/webkit_glue.h" | 14 #include "webkit/glue/webkit_glue.h" |
15 #include "webkit/glue/webview.h" | 15 #include "webkit/glue/webview.h" |
16 #include "webkit/tools/test_shell/test_shell_test.h" | 16 #include "webkit/tools/test_shell/test_shell_test.h" |
17 | 17 |
18 namespace { | 18 namespace { |
19 | 19 |
20 class MimeTypeTests : public TestShellTest { | 20 class MimeTypeTests : public TestShellTest { |
21 public: | 21 public: |
22 void LoadURL(const GURL& url) { | 22 void LoadURL(const GURL& url) { |
23 test_shell_->LoadURL(UTF8ToWide(url.spec()).c_str()); | 23 test_shell_->LoadURL(UTF8ToWide(url.spec()).c_str()); |
24 test_shell_->WaitTestFinished(); | 24 test_shell_->WaitTestFinished(); |
25 } | 25 } |
26 | 26 |
27 void CheckMimeType(const char* mimetype, const std::wstring& expected) { | 27 void CheckMimeType(const char* mimetype, const std::wstring& expected) { |
28 std::string path("contenttype?"); | 28 std::string path("contenttype?"); |
29 GURL url = server_->TestServerPage(path + mimetype); | 29 GURL url = server_->TestServerPage(path + mimetype); |
30 LoadURL(url); | 30 LoadURL(url); |
31 WebFrame* frame = test_shell_->webView()->GetMainFrame(); | 31 WebFrame* frame = test_shell_->webView()->GetMainFrame(); |
32 EXPECT_EQ(expected, webkit_glue::DumpDocumentText(frame)); | 32 EXPECT_EQ(expected, webkit_glue::DumpDocumentText(frame)); |
33 } | 33 } |
34 | 34 |
35 scoped_ptr<UnittestTestServer> server_; | 35 scoped_refptr<UnittestTestServer> server_; |
36 }; | 36 }; |
37 | 37 |
38 TEST_F(MimeTypeTests, MimeTypeTests) { | 38 TEST_F(MimeTypeTests, MimeTypeTests) { |
39 server_.reset(new UnittestTestServer); | 39 server_ = UnittestTestServer::CreateServer(); |
| 40 ASSERT_TRUE(NULL != server_.get()); |
40 | 41 |
41 std::wstring expected_src(L"<html>\n<body>\n" | 42 std::wstring expected_src(L"<html>\n<body>\n" |
42 L"<p>HTML text</p>\n</body>\n</html>\n"); | 43 L"<p>HTML text</p>\n</body>\n</html>\n"); |
43 | 44 |
44 // These files should all be displayed as plain text. | 45 // These files should all be displayed as plain text. |
45 const char* plain_text[] = { | 46 const char* plain_text[] = { |
46 "text/css", | 47 "text/css", |
47 "text/foo", | 48 "text/foo", |
48 "text/richext", | 49 "text/richext", |
49 "text/rtf", | 50 "text/rtf", |
50 "application/x-javascript", | 51 "application/x-javascript", |
51 }; | 52 }; |
52 for (size_t i = 0; i < arraysize(plain_text); ++i) { | 53 for (size_t i = 0; i < arraysize(plain_text); ++i) { |
53 CheckMimeType(plain_text[i], expected_src); | 54 CheckMimeType(plain_text[i], expected_src); |
(...skipping 19 matching lines...) Expand all Loading... |
73 "image/bmp", | 74 "image/bmp", |
74 }; | 75 }; |
75 for (size_t i = 0; i < arraysize(not_text); ++i) { | 76 for (size_t i = 0; i < arraysize(not_text); ++i) { |
76 CheckMimeType(not_text[i], L""); | 77 CheckMimeType(not_text[i], L""); |
77 test_shell_->webView()->StopLoading(); | 78 test_shell_->webView()->StopLoading(); |
78 } | 79 } |
79 | 80 |
80 // TODO(tc): make sure other mime types properly go to download (e.g., | 81 // TODO(tc): make sure other mime types properly go to download (e.g., |
81 // image/foo). | 82 // image/foo). |
82 | 83 |
83 server_.reset(NULL); | |
84 } | 84 } |
85 | 85 |
86 } // namespace | 86 } // namespace |
87 | 87 |
OLD | NEW |