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

Unified Diff: printing/pdf_ps_metafile_cairo_unittest.cc

Issue 6544028: Create a Factory for NativeMetafile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes for Mac Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: printing/pdf_ps_metafile_cairo_unittest.cc
diff --git a/printing/pdf_ps_metafile_cairo_unittest.cc b/printing/pdf_ps_metafile_cairo_unittest.cc
index 927306617c18a974ebac898f7349083b8a1f53ab..488d7ddcd20e42458582dd3ea9044a7f762d075d 100644
--- a/printing/pdf_ps_metafile_cairo_unittest.cc
+++ b/printing/pdf_ps_metafile_cairo_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -10,7 +10,11 @@
#include "base/file_descriptor_posix.h"
#include "base/file_util.h"
+#include "base/scoped_ptr.h"
#include "base/string_util.h"
+#include "printing/native_metafile.h"
+#include "printing/native_metafile_factory.h"
+#include "printing/pdf_ps_metafile.h"
#include "testing/gtest/include/gtest/gtest.h"
typedef struct _cairo cairo_t;
@@ -24,105 +28,64 @@ class PdfPsTest : public testing::Test {
TEST_F(PdfPsTest, Pdf) {
// Tests in-renderer constructor.
- printing::PdfPsMetafile pdf(printing::PdfPsMetafile::PDF);
- EXPECT_TRUE(pdf.Init());
+ scoped_ptr<printing::NativeMetafile> pdf(
+ printing::NativeMetafileFactory::CreateMetafile());
+ EXPECT_TRUE(pdf->Init());
// Renders page 1.
- cairo_t* context = pdf.StartPage(72, 72, 1, 2, 3, 4);
+ cairo_t* context = pdf->StartPage(72, 72, 1, 2, 3, 4);
EXPECT_TRUE(context != NULL);
- EXPECT_EQ(printing::PdfPsMetafile::FromCairoContext(context), &pdf);
+
+ EXPECT_EQ(printing::PdfPsMetafile::FromCairoContext(context), pdf.get());
// In theory, we should use Cairo to draw something on |context|.
- EXPECT_TRUE(pdf.FinishPage());
+ EXPECT_TRUE(pdf->FinishPage());
// Renders page 2.
- context = pdf.StartPage(64, 64, 1, 2, 3, 4);
+ context = pdf->StartPage(64, 64, 1, 2, 3, 4);
EXPECT_TRUE(context != NULL);
// In theory, we should use Cairo to draw something on |context|.
- EXPECT_TRUE(pdf.FinishPage());
+ EXPECT_TRUE(pdf->FinishPage());
// Closes the file.
- pdf.Close();
+ pdf->Close();
// Checks data size.
- uint32 size = pdf.GetDataSize();
+ uint32 size = pdf->GetDataSize();
EXPECT_GT(size, 0u);
// Gets resulting data.
std::vector<char> buffer(size, 0x00);
- pdf.GetData(&buffer.front(), size);
+ pdf->GetData(&buffer.front(), size);
// Tests another constructor.
- printing::PdfPsMetafile pdf2(printing::PdfPsMetafile::PDF);
- EXPECT_TRUE(pdf2.Init(&buffer.front(), size));
+ scoped_ptr<printing::NativeMetafile> pdf2(
+ printing::NativeMetafileFactory::CreateMetafile());
+ EXPECT_TRUE(pdf2->Init(&buffer.front(), size));
// Tries to get the first 4 characters from pdf2.
std::vector<char> buffer2(4, 0x00);
- pdf2.GetData(&buffer2.front(), 4);
+ pdf2->GetData(&buffer2.front(), 4);
// Tests if the header begins with "%PDF".
std::string header(&buffer2.front(), 4);
EXPECT_EQ(header.find("%PDF", 0), 0u);
// Tests if we can save data.
- EXPECT_TRUE(pdf.SaveTo(DevNullFD()));
+ EXPECT_TRUE(pdf->SaveTo(DevNullFD()));
// Test overriding the metafile with raw data.
- printing::PdfPsMetafile pdf3(printing::PdfPsMetafile::PDF);
- EXPECT_TRUE(pdf3.Init());
- context = pdf3.StartPage(72, 72, 1, 2, 3, 4);
+ scoped_ptr<printing::NativeMetafile> pdf3(
+ printing::NativeMetafileFactory::CreateMetafile());
+ EXPECT_TRUE(pdf3->Init());
+ context = pdf3->StartPage(72, 72, 1, 2, 3, 4);
EXPECT_TRUE(context != NULL);
std::string test_raw_data = "Dummy PDF";
- EXPECT_TRUE(pdf3.SetRawData(test_raw_data.c_str(), test_raw_data.size()));
- EXPECT_TRUE(pdf3.FinishPage());
- pdf3.Close();
- size = pdf3.GetDataSize();
+ EXPECT_TRUE(pdf3->SetRawData(test_raw_data.c_str(), test_raw_data.size()));
+ EXPECT_TRUE(pdf3->FinishPage());
+ pdf3->Close();
+ size = pdf3->GetDataSize();
EXPECT_EQ(test_raw_data.size(), size);
std::string output;
- pdf3.GetData(WriteInto(&output, size + 1), size);
+ pdf3->GetData(WriteInto(&output, size + 1), size);
EXPECT_EQ(test_raw_data, output);
}
-
-TEST_F(PdfPsTest, Ps) {
vandebo (ex-Chrome) 2011/02/24 22:42:50 Since this CL breaks the PS construction, maybe th
- // Tests in-renderer constructor.
- printing::PdfPsMetafile ps(printing::PdfPsMetafile::PS);
- EXPECT_TRUE(ps.Init());
-
- // Renders page 1.
- cairo_t* context = ps.StartPage(72, 72, 1, 2, 3, 4);
- EXPECT_TRUE(context != NULL);
- EXPECT_EQ(printing::PdfPsMetafile::FromCairoContext(context), &ps);
- // In theory, we should use Cairo to draw something on |context|.
- EXPECT_TRUE(ps.FinishPage());
-
- // Renders page 2.
- context = ps.StartPage(64, 64, 1, 2, 3, 4);
- EXPECT_TRUE(context != NULL);
- // In theory, we should use Cairo to draw something on |context|.
- EXPECT_TRUE(ps.FinishPage());
-
- // Closes the file.
- ps.Close();
-
- // Checks data size.
- uint32 size = ps.GetDataSize();
- EXPECT_GT(size, 0u);
-
- // Gets resulting data.
- std::vector<char> buffer(size, 0x00);
- ps.GetData(&buffer.front(), size);
-
- // Tests another constructor.
- printing::PdfPsMetafile ps2(printing::PdfPsMetafile::PS);
- EXPECT_TRUE(ps2.Init(&buffer.front(), size));
-
- // Tries to get the first 4 characters from ps2.
- std::vector<char> buffer2(4, 0x00);
- ps2.GetData(&buffer2.front(), 4);
-
- // Tests if the header begins with "%!PS".
- std::string header(&buffer2.front(), 4);
- EXPECT_EQ(header.find("%!PS", 0), 0u);
-
- // Tests if we can save data.
- EXPECT_TRUE(ps.SaveTo(DevNullFD()));
-}

Powered by Google App Engine
This is Rietveld 408576698