From a7b15598587d5bd04a086a8007327f06c14119b4 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 16 Apr 2018 19:22:57 +0000 Subject: Put prototypes of PDF_NameEncode/Decode in fpdf_parser_utility.h Because the implementations are in fpdf_parser_utility.cpp Add unit test for both. Change-Id: Ibae90ecbe625a035c450614ddbe7f5969f9f92aa Reviewed-on: https://pdfium-review.googlesource.com/30793 Reviewed-by: dsinclair Commit-Queue: Tom Sepez --- .../parser/fpdf_parser_utility_unittest.cpp | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 core/fpdfapi/parser/fpdf_parser_utility_unittest.cpp (limited to 'core/fpdfapi/parser/fpdf_parser_utility_unittest.cpp') diff --git a/core/fpdfapi/parser/fpdf_parser_utility_unittest.cpp b/core/fpdfapi/parser/fpdf_parser_utility_unittest.cpp new file mode 100644 index 0000000000..16c4b40ce6 --- /dev/null +++ b/core/fpdfapi/parser/fpdf_parser_utility_unittest.cpp @@ -0,0 +1,27 @@ +// 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 "core/fpdfapi/parser/fpdf_parser_utility.h" + +#include "testing/gtest/include/gtest/gtest.h" +#include "testing/test_support.h" + +TEST(fpdf_parser_utility, PDF_NameDecode) { + EXPECT_EQ("", PDF_NameDecode("")); + EXPECT_EQ("A", PDF_NameDecode("A")); + EXPECT_EQ("#", PDF_NameDecode("#")); + EXPECT_EQ("#4", PDF_NameDecode("#4")); + EXPECT_EQ("A", PDF_NameDecode("#41")); + EXPECT_EQ("A1", PDF_NameDecode("#411")); +} + +TEST(fpdf_parser_utility, PDF_NameEncode) { + EXPECT_EQ("", PDF_NameEncode("")); + EXPECT_EQ("A", PDF_NameEncode("A")); + EXPECT_EQ("#23", PDF_NameEncode("#")); + EXPECT_EQ("#20", PDF_NameEncode(" ")); + EXPECT_EQ("!@#23$#25^&*#28#29#3C#3E#5B#5D", PDF_NameEncode("!@#$%^&*()<>[]")); + EXPECT_EQ("#C2", PDF_NameEncode("\xc2")); + EXPECT_EQ("f#C2#A5", PDF_NameEncode("f\xc2\xa5")); +} -- cgit v1.2.3