1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "testing/embedder_test.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 class CPDFSecurityHandlerEmbeddertest : public EmbedderTest {};
9
TEST_F(CPDFSecurityHandlerEmbeddertest,Unencrypted)10 TEST_F(CPDFSecurityHandlerEmbeddertest, Unencrypted) {
11 ASSERT_TRUE(OpenDocument("about_blank.pdf"));
12 EXPECT_EQ(0xFFFFFFFF, FPDF_GetDocPermissions(document()));
13 }
14
TEST_F(CPDFSecurityHandlerEmbeddertest,UnencryptedWithPassword)15 TEST_F(CPDFSecurityHandlerEmbeddertest, UnencryptedWithPassword) {
16 ASSERT_TRUE(OpenDocument("about_blank.pdf", "foobar"));
17 EXPECT_EQ(0xFFFFFFFF, FPDF_GetDocPermissions(document()));
18 }
19
TEST_F(CPDFSecurityHandlerEmbeddertest,NoPassword)20 TEST_F(CPDFSecurityHandlerEmbeddertest, NoPassword) {
21 EXPECT_FALSE(OpenDocument("encrypted.pdf"));
22 }
23
TEST_F(CPDFSecurityHandlerEmbeddertest,BadPassword)24 TEST_F(CPDFSecurityHandlerEmbeddertest, BadPassword) {
25 EXPECT_FALSE(OpenDocument("encrypted.pdf", "tiger"));
26 }
27
TEST_F(CPDFSecurityHandlerEmbeddertest,UserPassword)28 TEST_F(CPDFSecurityHandlerEmbeddertest, UserPassword) {
29 ASSERT_TRUE(OpenDocument("encrypted.pdf", "1234"));
30 EXPECT_EQ(0xFFFFF2C0, FPDF_GetDocPermissions(document()));
31 }
32
TEST_F(CPDFSecurityHandlerEmbeddertest,OwnerPassword)33 TEST_F(CPDFSecurityHandlerEmbeddertest, OwnerPassword) {
34 ASSERT_TRUE(OpenDocument("encrypted.pdf", "5678"));
35 EXPECT_EQ(0xFFFFFFFC, FPDF_GetDocPermissions(document()));
36 }
37
TEST_F(CPDFSecurityHandlerEmbeddertest,NoPasswordVersion5)38 TEST_F(CPDFSecurityHandlerEmbeddertest, NoPasswordVersion5) {
39 ASSERT_FALSE(OpenDocument("bug_644.pdf"));
40 }
41
TEST_F(CPDFSecurityHandlerEmbeddertest,BadPasswordVersion5)42 TEST_F(CPDFSecurityHandlerEmbeddertest, BadPasswordVersion5) {
43 ASSERT_FALSE(OpenDocument("bug_644.pdf", "tiger"));
44 }
45
TEST_F(CPDFSecurityHandlerEmbeddertest,OwnerPasswordVersion5)46 TEST_F(CPDFSecurityHandlerEmbeddertest, OwnerPasswordVersion5) {
47 ASSERT_TRUE(OpenDocument("bug_644.pdf", "a"));
48 EXPECT_EQ(0xFFFFFFFC, FPDF_GetDocPermissions(document()));
49 }
50
TEST_F(CPDFSecurityHandlerEmbeddertest,UserPasswordVersion5)51 TEST_F(CPDFSecurityHandlerEmbeddertest, UserPasswordVersion5) {
52 ASSERT_TRUE(OpenDocument("bug_644.pdf", "b"));
53 EXPECT_EQ(0xFFFFFFFC, FPDF_GetDocPermissions(document()));
54 }
55