summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp
diff options
context:
space:
mode:
authorthestig <thestig@chromium.org>2016-05-23 15:06:59 -0700
committerCommit bot <commit-bot@chromium.org>2016-05-23 15:06:59 -0700
commit27ddf161579f79510b361d0016ccc7f0cdffdc6d (patch)
treebc5a13661d288faeccc8471275059a9d5e8795bc /core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp
parent490d6128e6faef423fa6f965f792513e138bc04a (diff)
downloadpdfium-27ddf161579f79510b361d0016ccc7f0cdffdc6d.tar.xz
Distinguish between user and owner passwords.
BUG=pdfium:496 Review-Url: https://codereview.chromium.org/2005653002
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp')
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp b/core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp
new file mode 100644
index 0000000000..37b6d8fc33
--- /dev/null
+++ b/core/fpdfapi/fpdf_parser/cpdf_security_handler_embeddertest.cpp
@@ -0,0 +1,32 @@
+// Copyright 2016 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 "testing/embedder_test.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+class CPDFSecurityHandlerEmbeddertest : public EmbedderTest {};
+
+TEST_F(CPDFSecurityHandlerEmbeddertest, Unencrypted) {
+ ASSERT_TRUE(OpenDocument("about_blank.pdf"));
+ EXPECT_EQ(0xFFFFFFFF, FPDF_GetDocPermissions(document()));
+}
+
+TEST_F(CPDFSecurityHandlerEmbeddertest, UnencryptedWithPassword) {
+ ASSERT_TRUE(OpenDocument("about_blank.pdf", "foobar"));
+ EXPECT_EQ(0xFFFFFFFF, FPDF_GetDocPermissions(document()));
+}
+
+TEST_F(CPDFSecurityHandlerEmbeddertest, NoPassword) {
+ EXPECT_FALSE(OpenDocument("encrypted.pdf"));
+}
+
+TEST_F(CPDFSecurityHandlerEmbeddertest, UserPassword) {
+ ASSERT_TRUE(OpenDocument("encrypted.pdf", "1234"));
+ EXPECT_EQ(0xFFFFF2C0, FPDF_GetDocPermissions(document()));
+}
+
+TEST_F(CPDFSecurityHandlerEmbeddertest, OwnerPassword) {
+ ASSERT_TRUE(OpenDocument("encrypted.pdf", "5678"));
+ EXPECT_EQ(0xFFFFFFFC, FPDF_GetDocPermissions(document()));
+}