| 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 | 
|---|