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 #ifndef CHROME_BROWSER_PRINTING_PRINTING_TEST_H__ | 5 #ifndef CHROME_BROWSER_PRINTING_PRINTING_TEST_H__ |
6 #define CHROME_BROWSER_PRINTING_PRINTING_TEST_H__ | 6 #define CHROME_BROWSER_PRINTING_PRINTING_TEST_H__ |
7 | 7 |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <winspool.h> | 9 #include <winspool.h> |
10 | 10 |
| 11 #include <string> |
| 12 |
| 13 #include "base/basictypes.h" |
| 14 |
11 // Disable the whole test case when executing on a computer that has no printer | 15 // Disable the whole test case when executing on a computer that has no printer |
12 // installed. | 16 // installed. |
13 // Note: Parent should be testing::Test or UITest. | 17 // Note: Parent should be testing::Test or UITest. |
14 template<typename Parent> | 18 template<typename Parent> |
15 class PrintingTest : public Parent { | 19 class PrintingTest : public Parent { |
16 public: | 20 public: |
17 static bool IsTestCaseDisabled() { | 21 static bool IsTestCaseDisabled() { |
18 return GetDefaultPrinter().empty(); | 22 return GetDefaultPrinter().empty(); |
19 } | 23 } |
20 static std::wstring GetDefaultPrinter() { | 24 static std::wstring GetDefaultPrinter() { |
21 wchar_t printer_name[MAX_PATH]; | 25 wchar_t printer_name[MAX_PATH]; |
22 DWORD size = arraysize(printer_name); | 26 DWORD size = arraysize(printer_name); |
23 BOOL result = ::GetDefaultPrinter(printer_name, &size); | 27 BOOL result = ::GetDefaultPrinter(printer_name, &size); |
24 if (result == 0) { | 28 if (result == 0) { |
25 if (GetLastError() == ERROR_FILE_NOT_FOUND) { | 29 if (GetLastError() == ERROR_FILE_NOT_FOUND) { |
26 printf("There is no printer installed, printing can't be tested!\n"); | 30 printf("There is no printer installed, printing can't be tested!\n"); |
27 return std::wstring(); | 31 return std::wstring(); |
28 } | 32 } |
29 printf("INTERNAL PRINTER ERROR!\n"); | 33 printf("INTERNAL PRINTER ERROR!\n"); |
30 return std::wstring(); | 34 return std::wstring(); |
31 } | 35 } |
32 return printer_name; | 36 return printer_name; |
33 } | 37 } |
34 }; | 38 }; |
35 | 39 |
36 #endif // CHROME_BROWSER_PRINTING_PRINTING_TEST_H__ | 40 #endif // CHROME_BROWSER_PRINTING_PRINTING_TEST_H__ |
OLD | NEW |