Arquivos
sverrir@google.com ae14df6577 Move printing related stuff to the root printing project from the browser project. This simplifies further refactoring and eases understanding of the printing part of Chrome.
Also renamed win_printing_context to printing_context_win (correct naming convention) and added stub implementations for _linux and mac.
Now all but one file is compiling on all platforms.

TEST=none (no functional change).
BUG=none

Review URL: http://codereview.chromium.org/149212

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20086 0039d316-1c4b-4281-b951-d872f2087c98
2009-07-07 21:31:39 +00:00

37 linhas
1.1 KiB
C++

// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_PRINTING_PRINTING_TEST_H__
#define CHROME_BROWSER_PRINTING_PRINTING_TEST_H__
#include <windows.h>
#include <winspool.h>
// Disable the whole test case when executing on a computer that has no printer
// installed.
// Note: Parent should be testing::Test or UITest.
template<typename Parent>
class PrintingTest : public Parent {
public:
static bool IsTestCaseDisabled() {
return GetDefaultPrinter().empty();
}
static std::wstring GetDefaultPrinter() {
wchar_t printer_name[MAX_PATH];
DWORD size = arraysize(printer_name);
BOOL result = ::GetDefaultPrinter(printer_name, &size);
if (result == 0) {
if (GetLastError() == ERROR_FILE_NOT_FOUND) {
printf("There is no printer installed, printing can't be tested!\n");
return std::wstring();
}
printf("INTERNAL PRINTER ERROR!\n");
return std::wstring();
}
return printer_name;
}
};
#endif // CHROME_BROWSER_PRINTING_PRINTING_TEST_H__