blob: 851df00957f99e5d809f7f8dcfc0c8654dc37a27 [file] [log] [blame]
// Copyright 2020 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_signature.h"
#include "testing/embedder_test.h"
class FPDFSignatureEmbedderTest : public EmbedderTest {};
TEST_F(FPDFSignatureEmbedderTest, GetSignatureCount) {
EXPECT_TRUE(OpenDocument("two_signatures.pdf"));
EXPECT_EQ(2, FPDF_GetSignatureCount(document()));
}
TEST_F(FPDFSignatureEmbedderTest, GetSignatureCountZero) {
EXPECT_TRUE(OpenDocument("hello_world.pdf"));
EXPECT_EQ(0, FPDF_GetSignatureCount(document()));
// Provide no document.
EXPECT_EQ(-1, FPDF_GetSignatureCount(nullptr));
}
TEST_F(FPDFSignatureEmbedderTest, GetSignatureObject) {
EXPECT_TRUE(OpenDocument("two_signatures.pdf"));
// Different, non-null signature objects are returned.
FPDF_SIGNATURE signature1 = FPDF_GetSignatureObject(document(), 0);
EXPECT_NE(nullptr, signature1);
FPDF_SIGNATURE signature2 = FPDF_GetSignatureObject(document(), 1);
EXPECT_NE(nullptr, signature2);
EXPECT_NE(signature1, signature2);
// Out of bounds.
EXPECT_EQ(nullptr, FPDF_GetSignatureObject(document(), -1));
EXPECT_EQ(nullptr, FPDF_GetSignatureObject(document(), 2));
// Provide no document.
EXPECT_EQ(nullptr, FPDF_GetSignatureObject(nullptr, 0));
}