You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.6 KiB
68 lines
2.6 KiB
// 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_edit.h"
|
|
|
|
#include "core/fpdfapi/page/cpdf_pagemodule.h"
|
|
#include "testing/gtest/include/gtest/gtest.h"
|
|
|
|
class PDFEditTest : public testing::Test {
|
|
void SetUp() override { CPDF_PageModule::Create(); }
|
|
void TearDown() override { CPDF_PageModule::Destroy(); }
|
|
};
|
|
|
|
TEST_F(PDFEditTest, LineJoin) {
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(nullptr, -1));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(nullptr, FPDF_LINEJOIN_MITER));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(nullptr, FPDF_LINEJOIN_ROUND));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(nullptr, FPDF_LINEJOIN_BEVEL));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(nullptr, 3));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(nullptr, 1000));
|
|
|
|
FPDF_PAGEOBJECT path = FPDFPageObj_CreateNewPath(0, 0);
|
|
EXPECT_EQ(FPDF_LINEJOIN_MITER, FPDFPageObj_GetLineJoin(path));
|
|
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(path, -1));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(path, 3));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineJoin(path, 1000));
|
|
|
|
EXPECT_TRUE(FPDFPageObj_SetLineJoin(path, FPDF_LINEJOIN_BEVEL));
|
|
EXPECT_EQ(FPDF_LINEJOIN_BEVEL, FPDFPageObj_GetLineJoin(path));
|
|
|
|
EXPECT_TRUE(FPDFPageObj_SetLineJoin(path, FPDF_LINEJOIN_ROUND));
|
|
EXPECT_EQ(FPDF_LINEJOIN_ROUND, FPDFPageObj_GetLineJoin(path));
|
|
|
|
EXPECT_TRUE(FPDFPageObj_SetLineJoin(path, FPDF_LINEJOIN_MITER));
|
|
EXPECT_EQ(FPDF_LINEJOIN_MITER, FPDFPageObj_GetLineJoin(path));
|
|
|
|
FPDFPageObj_Destroy(path);
|
|
}
|
|
|
|
TEST_F(PDFEditTest, LineCap) {
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(nullptr, -1));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(nullptr, FPDF_LINECAP_BUTT));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(nullptr, FPDF_LINECAP_ROUND));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(nullptr, FPDF_LINECAP_PROJECTING_SQUARE));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(nullptr, 3));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(nullptr, 1000));
|
|
|
|
FPDF_PAGEOBJECT path = FPDFPageObj_CreateNewPath(0, 0);
|
|
EXPECT_EQ(FPDF_LINECAP_BUTT, FPDFPageObj_GetLineCap(path));
|
|
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(path, -1));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(path, 3));
|
|
EXPECT_FALSE(FPDFPageObj_SetLineCap(path, 1000));
|
|
|
|
EXPECT_TRUE(FPDFPageObj_SetLineCap(path, FPDF_LINECAP_PROJECTING_SQUARE));
|
|
EXPECT_EQ(FPDF_LINECAP_PROJECTING_SQUARE, FPDFPageObj_GetLineCap(path));
|
|
|
|
EXPECT_TRUE(FPDFPageObj_SetLineCap(path, FPDF_LINECAP_ROUND));
|
|
EXPECT_EQ(FPDF_LINECAP_ROUND, FPDFPageObj_GetLineCap(path));
|
|
|
|
EXPECT_TRUE(FPDFPageObj_SetLineCap(path, FPDF_LINECAP_BUTT));
|
|
EXPECT_EQ(FPDF_LINECAP_BUTT, FPDFPageObj_GetLineCap(path));
|
|
|
|
FPDFPageObj_Destroy(path);
|
|
}
|