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

Side by Side Diff: chrome_frame/test/urlmon_moniker_unittest.cc

Issue 6825055: Include base/win/scoped_comptr.h instead of base/scoped_comptr_win.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert bad indentation, rebase Created 9 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <atlbase.h> 5 #include <atlbase.h>
6 #include <atlcom.h> 6 #include <atlcom.h>
7 7
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/scoped_comptr_win.h" 10 #include "base/win/scoped_comptr.h"
11 #include "chrome_frame/urlmon_bind_status_callback.h"
12 #include "chrome_frame/test/chrome_frame_test_utils.h" 11 #include "chrome_frame/test/chrome_frame_test_utils.h"
13 #include "chrome_frame/test/urlmon_moniker_tests.h" 12 #include "chrome_frame/test/urlmon_moniker_tests.h"
13 #include "chrome_frame/urlmon_bind_status_callback.h"
14 14
15 using chrome_frame_test::ScopedVirtualizeHklmAndHkcu; 15 using chrome_frame_test::ScopedVirtualizeHklmAndHkcu;
16 using testing::Return; 16 using testing::Return;
17 using testing::Eq; 17 using testing::Eq;
18 18
19 class MonikerPatchTest : public testing::Test { 19 class MonikerPatchTest : public testing::Test {
20 protected: 20 protected:
21 MonikerPatchTest() { 21 MonikerPatchTest() {
22 } 22 }
23 23
24 virtual void SetUp() { 24 virtual void SetUp() {
25 DeleteAllSingletons(); 25 DeleteAllSingletons();
26 PathService::Get(base::DIR_SOURCE_ROOT, &test_file_path_); 26 PathService::Get(base::DIR_SOURCE_ROOT, &test_file_path_);
27 test_file_path_ = test_file_path_.Append(FILE_PATH_LITERAL("chrome_frame")) 27 test_file_path_ = test_file_path_.Append(FILE_PATH_LITERAL("chrome_frame"))
28 .Append(FILE_PATH_LITERAL("test")) 28 .Append(FILE_PATH_LITERAL("test"))
29 .Append(FILE_PATH_LITERAL("data")); 29 .Append(FILE_PATH_LITERAL("data"));
30 } 30 }
31 31
32 bool ReadFileAsString(const wchar_t* file_name, std::string* file_contents) { 32 bool ReadFileAsString(const wchar_t* file_name, std::string* file_contents) {
33 EXPECT_TRUE(file_name); 33 EXPECT_TRUE(file_name);
34 FilePath file_path = test_file_path_.Append(file_name); 34 FilePath file_path = test_file_path_.Append(file_name);
35 return file_util::ReadFileToString(file_path, file_contents); 35 return file_util::ReadFileToString(file_path, file_contents);
36 } 36 }
37 37
38 static bool StringToStream(const std::string& data, IStream** ret) { 38 static bool StringToStream(const std::string& data, IStream** ret) {
39 EXPECT_TRUE(!data.empty()); 39 EXPECT_TRUE(!data.empty());
40 40
41 ScopedComPtr<IStream> stream; 41 base::win::ScopedComPtr<IStream> stream;
42 HRESULT hr = CreateStreamOnHGlobal(NULL, TRUE, stream.Receive()); 42 HRESULT hr = CreateStreamOnHGlobal(NULL, TRUE, stream.Receive());
43 EXPECT_HRESULT_SUCCEEDED(hr); 43 EXPECT_HRESULT_SUCCEEDED(hr);
44 if (FAILED(hr)) { 44 if (FAILED(hr)) {
45 return false; 45 return false;
46 } 46 }
47 47
48 DWORD written = 0; 48 DWORD written = 0;
49 hr = stream->Write(data.c_str(), data.size(), &written); 49 hr = stream->Write(data.c_str(), data.size(), &written);
50 EXPECT_HRESULT_SUCCEEDED(hr); 50 EXPECT_HRESULT_SUCCEEDED(hr);
51 EXPECT_EQ(data.size(), written); 51 EXPECT_EQ(data.size(), written);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 129
130 const wchar_t kSmallHtmlMetaTag[] = L"sub_frame1.html"; 130 const wchar_t kSmallHtmlMetaTag[] = L"sub_frame1.html";
131 const wchar_t kSmallHtmlNoMetaTag[] = L"host_browser.html"; 131 const wchar_t kSmallHtmlNoMetaTag[] = L"host_browser.html";
132 132
133 // Test various aspects of the SniffData class 133 // Test various aspects of the SniffData class
134 TEST_F(MonikerPatchTest, SniffDataMetaTag) { 134 TEST_F(MonikerPatchTest, SniffDataMetaTag) {
135 std::string small_html_meta_tag, small_html_no_meta_tag; 135 std::string small_html_meta_tag, small_html_no_meta_tag;
136 ASSERT_TRUE(ReadFileAsString(kSmallHtmlMetaTag, &small_html_meta_tag)); 136 ASSERT_TRUE(ReadFileAsString(kSmallHtmlMetaTag, &small_html_meta_tag));
137 ASSERT_TRUE(ReadFileAsString(kSmallHtmlNoMetaTag, &small_html_no_meta_tag)); 137 ASSERT_TRUE(ReadFileAsString(kSmallHtmlNoMetaTag, &small_html_no_meta_tag));
138 138
139 ScopedComPtr<IStream> stream_with_meta, stream_no_meta; 139 base::win::ScopedComPtr<IStream> stream_with_meta, stream_no_meta;
140 ASSERT_TRUE(StringToStream(small_html_meta_tag, stream_with_meta.Receive())); 140 ASSERT_TRUE(StringToStream(small_html_meta_tag, stream_with_meta.Receive()));
141 ASSERT_TRUE(StringToStream(small_html_no_meta_tag, 141 ASSERT_TRUE(StringToStream(small_html_no_meta_tag,
142 stream_no_meta.Receive())); 142 stream_no_meta.Receive()));
143 143
144 // Initialize 2 sniffers 1 with meta tag and 1 without. 144 // Initialize 2 sniffers 1 with meta tag and 1 without.
145 SniffData sniffer1, sniffer2; 145 SniffData sniffer1, sniffer2;
146 EXPECT_HRESULT_SUCCEEDED(sniffer1.InitializeCache(std::wstring())); 146 EXPECT_HRESULT_SUCCEEDED(sniffer1.InitializeCache(std::wstring()));
147 EXPECT_HRESULT_SUCCEEDED(sniffer2.InitializeCache(std::wstring())); 147 EXPECT_HRESULT_SUCCEEDED(sniffer2.InitializeCache(std::wstring()));
148 EXPECT_HRESULT_SUCCEEDED(sniffer1.ReadIntoCache(stream_with_meta, true)); 148 EXPECT_HRESULT_SUCCEEDED(sniffer1.ReadIntoCache(stream_with_meta, true));
149 EXPECT_HRESULT_SUCCEEDED(sniffer2.ReadIntoCache(stream_no_meta, true)); 149 EXPECT_HRESULT_SUCCEEDED(sniffer2.ReadIntoCache(stream_no_meta, true));
150 150
151 // Verify renderer type and size read. 151 // Verify renderer type and size read.
152 EXPECT_TRUE(sniffer1.is_chrome()); 152 EXPECT_TRUE(sniffer1.is_chrome());
153 EXPECT_EQ(SniffData::OTHER, sniffer2.renderer_type()); 153 EXPECT_EQ(SniffData::OTHER, sniffer2.renderer_type());
154 EXPECT_EQ(small_html_meta_tag.size(), sniffer1.size()); 154 EXPECT_EQ(small_html_meta_tag.size(), sniffer1.size());
155 EXPECT_EQ(small_html_no_meta_tag.size(), sniffer2.size()); 155 EXPECT_EQ(small_html_no_meta_tag.size(), sniffer2.size());
156 } 156 }
157 157
158 // Now test how the data is fed back the the bind status callback. 158 // Now test how the data is fed back the the bind status callback.
159 // case 1: callback reads data in 1 read 159 // case 1: callback reads data in 1 read
160 TEST_F(MonikerPatchTest, SniffDataPlayback1) { 160 TEST_F(MonikerPatchTest, SniffDataPlayback1) {
161 std::string small_html_meta_tag; 161 std::string small_html_meta_tag;
162 ScopedComPtr<IStream> stream_with_meta; 162 base::win::ScopedComPtr<IStream> stream_with_meta;
163 SniffData sniffer; 163 SniffData sniffer;
164 164
165 EXPECT_HRESULT_SUCCEEDED(sniffer.InitializeCache(std::wstring())); 165 EXPECT_HRESULT_SUCCEEDED(sniffer.InitializeCache(std::wstring()));
166 ASSERT_TRUE(ReadFileAsString(kSmallHtmlMetaTag, &small_html_meta_tag)); 166 ASSERT_TRUE(ReadFileAsString(kSmallHtmlMetaTag, &small_html_meta_tag));
167 ASSERT_TRUE(StringToStream(small_html_meta_tag, stream_with_meta.Receive())); 167 ASSERT_TRUE(StringToStream(small_html_meta_tag, stream_with_meta.Receive()));
168 EXPECT_HRESULT_SUCCEEDED(sniffer.ReadIntoCache(stream_with_meta, true)); 168 EXPECT_HRESULT_SUCCEEDED(sniffer.ReadIntoCache(stream_with_meta, true));
169 169
170 CComObjectStackEx<MockBindStatusCallbackImpl> mock; 170 CComObjectStackEx<MockBindStatusCallbackImpl> mock;
171 const CLIPFORMAT cf = 0xd0d0; 171 const CLIPFORMAT cf = 0xd0d0;
172 const DWORD flags = BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION; 172 const DWORD flags = BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION;
(...skipping 22 matching lines...) Expand all
195 EXPECT_EQ(data_size, read_size1); 195 EXPECT_EQ(data_size, read_size1);
196 196
197 EXPECT_EQ(S_FALSE, ret2); 197 EXPECT_EQ(S_FALSE, ret2);
198 EXPECT_STREQ("", read_buffer2); 198 EXPECT_STREQ("", read_buffer2);
199 EXPECT_EQ(sizeof(read_buffer2), read_size2); 199 EXPECT_EQ(sizeof(read_buffer2), read_size2);
200 } 200 }
201 201
202 // case 2: callback reads data in 2 reads. 202 // case 2: callback reads data in 2 reads.
203 TEST_F(MonikerPatchTest, SniffDataPlayback2) { 203 TEST_F(MonikerPatchTest, SniffDataPlayback2) {
204 std::string small_html_meta_tag; 204 std::string small_html_meta_tag;
205 ScopedComPtr<IStream> stream_with_meta; 205 base::win::ScopedComPtr<IStream> stream_with_meta;
206 SniffData sniffer; 206 SniffData sniffer;
207 207
208 EXPECT_HRESULT_SUCCEEDED(sniffer.InitializeCache(std::wstring())); 208 EXPECT_HRESULT_SUCCEEDED(sniffer.InitializeCache(std::wstring()));
209 ASSERT_TRUE(ReadFileAsString(kSmallHtmlMetaTag, &small_html_meta_tag)); 209 ASSERT_TRUE(ReadFileAsString(kSmallHtmlMetaTag, &small_html_meta_tag));
210 ASSERT_TRUE(StringToStream(small_html_meta_tag, stream_with_meta.Receive())); 210 ASSERT_TRUE(StringToStream(small_html_meta_tag, stream_with_meta.Receive()));
211 EXPECT_HRESULT_SUCCEEDED(sniffer.ReadIntoCache(stream_with_meta, true)); 211 EXPECT_HRESULT_SUCCEEDED(sniffer.ReadIntoCache(stream_with_meta, true));
212 212
213 CComObjectStackEx<MockBindStatusCallbackImpl> mock; 213 CComObjectStackEx<MockBindStatusCallbackImpl> mock;
214 const CLIPFORMAT cf = 0xd0d0; 214 const CLIPFORMAT cf = 0xd0d0;
215 const DWORD flags = BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION; 215 const DWORD flags = BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION;
(...skipping 28 matching lines...) Expand all
244 244
245 std::string data_read; 245 std::string data_read;
246 data_read.append(read_buffer1.get(), read_size1); 246 data_read.append(read_buffer1.get(), read_size1);
247 data_read.append(read_buffer2.get(), read_size2); 247 data_read.append(read_buffer2.get(), read_size2);
248 EXPECT_EQ(small_html_meta_tag, data_read); 248 EXPECT_EQ(small_html_meta_tag, data_read);
249 249
250 EXPECT_EQ(S_FALSE, ret3); 250 EXPECT_EQ(S_FALSE, ret3);
251 EXPECT_STREQ("", read_buffer3); 251 EXPECT_STREQ("", read_buffer3);
252 EXPECT_EQ(sizeof(read_buffer3), read_size3); 252 EXPECT_EQ(sizeof(read_buffer3), read_size3);
253 } 253 }
OLDNEW
« no previous file with comments | « chrome_frame/test/urlmon_moniker_integration_test.cc ('k') | chrome_frame/urlmon_bind_status_callback.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698