summaryrefslogtreecommitdiff
path: root/fpdfsdk
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk')
-rw-r--r--fpdfsdk/fpdf_transformpage_embeddertest.cpp91
1 files changed, 91 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_transformpage_embeddertest.cpp b/fpdfsdk/fpdf_transformpage_embeddertest.cpp
new file mode 100644
index 0000000000..d064efee0b
--- /dev/null
+++ b/fpdfsdk/fpdf_transformpage_embeddertest.cpp
@@ -0,0 +1,91 @@
+// Copyright 2018 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "public/fpdf_transformpage.h"
+#include "testing/embedder_test.h"
+
+class FPDFTransformEmbedderTest : public EmbedderTest {};
+
+TEST_F(FPDFTransformEmbedderTest, GetBoundingBoxes) {
+ ASSERT_TRUE(OpenDocument("cropped_text.pdf"));
+ ASSERT_EQ(4, FPDF_GetPageCount(document()));
+
+ {
+ FPDF_PAGE page = LoadPage(1);
+ ASSERT_TRUE(page);
+
+ float mediabox_left;
+ float mediabox_bottom;
+ float mediabox_right;
+ float mediabox_top;
+ EXPECT_TRUE(FPDFPage_GetMediaBox(page, &mediabox_left, &mediabox_bottom,
+ &mediabox_right, &mediabox_top));
+ EXPECT_EQ(-50, mediabox_left);
+ EXPECT_EQ(-50, mediabox_bottom);
+ EXPECT_EQ(200, mediabox_right);
+ EXPECT_EQ(200, mediabox_top);
+
+ float cropbox_left;
+ float cropbox_bottom;
+ float cropbox_right;
+ float cropbox_top;
+ EXPECT_TRUE(FPDFPage_GetCropBox(page, &cropbox_left, &cropbox_bottom,
+ &cropbox_right, &cropbox_top));
+ EXPECT_EQ(50, cropbox_left);
+ EXPECT_EQ(50, cropbox_bottom);
+ EXPECT_EQ(150, cropbox_right);
+ EXPECT_EQ(150, cropbox_top);
+
+ UnloadPage(page);
+ }
+
+ {
+ FPDF_PAGE page = LoadPage(3);
+ ASSERT_TRUE(page);
+
+ float mediabox_left;
+ float mediabox_bottom;
+ float mediabox_right;
+ float mediabox_top;
+ EXPECT_TRUE(FPDFPage_GetMediaBox(page, &mediabox_left, &mediabox_bottom,
+ &mediabox_right, &mediabox_top));
+ EXPECT_EQ(0, mediabox_left);
+ EXPECT_EQ(0, mediabox_bottom);
+ EXPECT_EQ(200, mediabox_right);
+ EXPECT_EQ(200, mediabox_top);
+
+ float cropbox_left;
+ float cropbox_bottom;
+ float cropbox_right;
+ float cropbox_top;
+ EXPECT_TRUE(FPDFPage_GetCropBox(page, &cropbox_left, &cropbox_bottom,
+ &cropbox_right, &cropbox_top));
+ EXPECT_EQ(150, cropbox_left);
+ EXPECT_EQ(150, cropbox_bottom);
+ EXPECT_EQ(60, cropbox_right);
+ EXPECT_EQ(60, cropbox_top);
+
+ UnloadPage(page);
+ }
+}
+
+TEST_F(FPDFTransformEmbedderTest, NoCropBox) {
+ ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+ ASSERT_EQ(1, FPDF_GetPageCount(document()));
+
+ FPDF_PAGE page = LoadPage(0);
+ ASSERT_TRUE(page);
+
+ float left = -1.0f;
+ float bottom = -2.0f;
+ float right = 3.0f;
+ float top = 0.0f;
+ EXPECT_FALSE(FPDFPage_GetCropBox(page, &left, &bottom, &right, &top));
+ EXPECT_EQ(-1.0f, left);
+ EXPECT_EQ(-2.0f, bottom);
+ EXPECT_EQ(3.0f, right);
+ EXPECT_EQ(0.0f, top);
+
+ UnloadPage(page);
+}