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

Side by Side Diff: ui/base/win/open_file_name_win_unittest.cc

Issue 1159553007: Move Tuple to base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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
OLDNEW
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2014 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 "ui/base/win/open_file_name_win.h" 5 #include "ui/base/win/open_file_name_win.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace { 10 namespace {
11 const HWND kHwnd = reinterpret_cast<HWND>(0xDEADBEEF); 11 const HWND kHwnd = reinterpret_cast<HWND>(0xDEADBEEF);
12 const DWORD kFlags = OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_ENABLESIZING; 12 const DWORD kFlags = OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_ENABLESIZING;
13 13
14 void SetResult(const base::string16& result, ui::win::OpenFileName* ofn) { 14 void SetResult(const base::string16& result, ui::win::OpenFileName* ofn) {
15 if (ofn->GetOPENFILENAME()->nMaxFile <= result.size()) { 15 if (ofn->GetOPENFILENAME()->nMaxFile <= result.size()) {
16 ADD_FAILURE() << "filename buffer insufficient."; 16 ADD_FAILURE() << "filename buffer insufficient.";
17 return; 17 return;
18 } 18 }
19 if (!result.size()) { 19 if (!result.size()) {
20 ofn->GetOPENFILENAME()->lpstrFile[0] = 0; 20 ofn->GetOPENFILENAME()->lpstrFile[0] = 0;
21 } else { 21 } else {
22 // Because the result has embedded nulls, we must memcpy. 22 // Because the result has embedded nulls, we must memcpy.
23 memcpy(ofn->GetOPENFILENAME()->lpstrFile, 23 memcpy(ofn->GetOPENFILENAME()->lpstrFile,
24 result.c_str(), 24 result.c_str(),
25 (result.size() + 1) * sizeof(result[0])); 25 (result.size() + 1) * sizeof(result[0]));
26 } 26 }
27 } 27 }
28 28
29 void CheckFilters( 29 void CheckFilters(
30 const std::vector<Tuple<base::string16, base::string16>>& expected, 30 const std::vector<base::Tuple<base::string16, base::string16>>& expected,
31 const std::vector<Tuple<base::string16, base::string16>>& actual) { 31 const std::vector<base::Tuple<base::string16, base::string16>>& actual) {
32 if (expected.size() != actual.size()) { 32 if (expected.size() != actual.size()) {
33 ADD_FAILURE() << "filter count mismatch. Got " << actual.size() 33 ADD_FAILURE() << "filter count mismatch. Got " << actual.size()
34 << " expected " << expected.size() << "."; 34 << " expected " << expected.size() << ".";
35 return; 35 return;
36 } 36 }
37 37
38 for (size_t i = 0; i < expected.size(); ++i) { 38 for (size_t i = 0; i < expected.size(); ++i) {
39 EXPECT_EQ(get<0>(expected[i]), get<0>(actual[i])) 39 EXPECT_EQ(base::get<0>(expected[i]), base::get<0>(actual[i]))
40 << "Mismatch at index " << i; 40 << "Mismatch at index " << i;
41 EXPECT_EQ(get<1>(expected[i]), get<1>(actual[i])) 41 EXPECT_EQ(base::get<1>(expected[i]), base::get<1>(actual[i]))
42 << "Mismatch at index " << i; 42 << "Mismatch at index " << i;
43 } 43 }
44 } 44 }
45 45
46 void CheckFilterString(const base::string16& expected, 46 void CheckFilterString(const base::string16& expected,
47 const ui::win::OpenFileName& ofn) { 47 const ui::win::OpenFileName& ofn) {
48 if (!ofn.GetOPENFILENAME()->lpstrFilter) { 48 if (!ofn.GetOPENFILENAME()->lpstrFilter) {
49 ADD_FAILURE() << "Filter string is NULL."; 49 ADD_FAILURE() << "Filter string is NULL.";
50 return; 50 return;
51 } 51 }
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 SetResult(L"", &ofn); 196 SetResult(L"", &ofn);
197 ofn.GetResult(&directory, &filenames); 197 ofn.GetResult(&directory, &filenames);
198 EXPECT_EQ(base::FilePath(), directory); 198 EXPECT_EQ(base::FilePath(), directory);
199 ASSERT_EQ(0u, filenames.size()); 199 ASSERT_EQ(0u, filenames.size());
200 } 200 }
201 201
202 TEST(OpenFileNameTest, SetAndGetFilters) { 202 TEST(OpenFileNameTest, SetAndGetFilters) {
203 const base::string16 kNull(L"\0", 1); 203 const base::string16 kNull(L"\0", 1);
204 204
205 ui::win::OpenFileName ofn(kHwnd, kFlags); 205 ui::win::OpenFileName ofn(kHwnd, kFlags);
206 std::vector<Tuple<base::string16, base::string16>> filters; 206 std::vector<base::Tuple<base::string16, base::string16>> filters;
207 ofn.SetFilters(filters); 207 ofn.SetFilters(filters);
208 EXPECT_FALSE(ofn.GetOPENFILENAME()->lpstrFilter); 208 EXPECT_FALSE(ofn.GetOPENFILENAME()->lpstrFilter);
209 CheckFilters(filters, 209 CheckFilters(filters,
210 ui::win::OpenFileName::GetFilters(ofn.GetOPENFILENAME())); 210 ui::win::OpenFileName::GetFilters(ofn.GetOPENFILENAME()));
211 211
212 filters.push_back(MakeTuple(base::string16(L"a"), base::string16(L"b"))); 212 filters.push_back(base::MakeTuple(base::string16(L"a"), base::string16(L"b"))) ;
213 ofn.SetFilters(filters); 213 ofn.SetFilters(filters);
214 CheckFilterString(L"a" + kNull + L"b" + kNull, ofn); 214 CheckFilterString(L"a" + kNull + L"b" + kNull, ofn);
215 CheckFilters(filters, 215 CheckFilters(filters,
216 ui::win::OpenFileName::GetFilters(ofn.GetOPENFILENAME())); 216 ui::win::OpenFileName::GetFilters(ofn.GetOPENFILENAME()));
217 217
218 filters.push_back(MakeTuple(base::string16(L"X"), base::string16(L"Y"))); 218 filters.push_back(base::MakeTuple(base::string16(L"X"), base::string16(L"Y"))) ;
219 ofn.SetFilters(filters); 219 ofn.SetFilters(filters);
220 CheckFilterString(L"a" + kNull + L"b" + kNull + L"X" + kNull + L"Y" + kNull, 220 CheckFilterString(L"a" + kNull + L"b" + kNull + L"X" + kNull + L"Y" + kNull,
221 ofn); 221 ofn);
222 CheckFilters(filters, 222 CheckFilters(filters,
223 ui::win::OpenFileName::GetFilters(ofn.GetOPENFILENAME())); 223 ui::win::OpenFileName::GetFilters(ofn.GetOPENFILENAME()));
224 } 224 }
225 225
226 TEST(OpenFileNameTest, SetResult) { 226 TEST(OpenFileNameTest, SetResult) {
227 const base::string16 kNull(L"\0", 1); 227 const base::string16 kNull(L"\0", 1);
228 228
(...skipping 13 matching lines...) Expand all
242 ui::win::OpenFileName::SetResult(directory, filenames, ofn.GetOPENFILENAME()); 242 ui::win::OpenFileName::SetResult(directory, filenames, ofn.GetOPENFILENAME());
243 CheckResult(L"C:\\dir" + kNull + L"file" + kNull + L"otherfile" + kNull, ofn); 243 CheckResult(L"C:\\dir" + kNull + L"file" + kNull + L"otherfile" + kNull, ofn);
244 244
245 base::char16 short_buffer[10] = L""; 245 base::char16 short_buffer[10] = L"";
246 246
247 ofn.GetOPENFILENAME()->lpstrFile = short_buffer; 247 ofn.GetOPENFILENAME()->lpstrFile = short_buffer;
248 ofn.GetOPENFILENAME()->nMaxFile = arraysize(short_buffer); 248 ofn.GetOPENFILENAME()->nMaxFile = arraysize(short_buffer);
249 ui::win::OpenFileName::SetResult(directory, filenames, ofn.GetOPENFILENAME()); 249 ui::win::OpenFileName::SetResult(directory, filenames, ofn.GetOPENFILENAME());
250 CheckResult(L"", ofn); 250 CheckResult(L"", ofn);
251 } 251 }
OLDNEW
« no previous file with comments | « ui/base/win/open_file_name_win.cc ('k') | ui/ozone/platform/drm/gpu/drm_gpu_platform_support.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698