Index: core/src/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp |
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp b/core/src/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp |
similarity index 58% |
rename from core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp |
rename to core/src/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp |
index 49521b01024c046e374404b7a60e934a23ded1c1..ec84171059a547356a49155d5adec6da48a39b61 100644 |
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp |
+++ b/core/src/fpdfapi/fpdf_parser/cpdf_parser_unittest.cpp |
@@ -6,7 +6,6 @@ |
#include <string> |
#include "core/include/fpdfapi/cpdf_parser.h" |
-#include "core/include/fpdfapi/fpdf_parser.h" |
#include "core/include/fxcrt/fx_stream.h" |
#include "core/include/fxcrt/fx_ext.h" |
#include "core/src/fpdfapi/fpdf_parser/cpdf_syntax_parser.h" |
@@ -68,171 +67,13 @@ class CPDF_TestParser : public CPDF_Parser { |
// Add test cases here as private friend so that protected members in |
// CPDF_Parser can be accessed by test cases. |
// Need to access RebuildCrossRef. |
- FRIEND_TEST(fpdf_parser_parser, RebuildCrossRefCorrectly); |
- FRIEND_TEST(fpdf_parser_parser, RebuildCrossRefFailed); |
+ FRIEND_TEST(cpdf_parser, RebuildCrossRefCorrectly); |
+ FRIEND_TEST(cpdf_parser, RebuildCrossRefFailed); |
// Need to access LoadCrossRefV4. |
- FRIEND_TEST(fpdf_parser_parser, LoadCrossRefV4); |
+ FRIEND_TEST(cpdf_parser, LoadCrossRefV4); |
}; |
-TEST(fpdf_parser_parser, ReadHexString) { |
- { |
- // Empty string. |
- uint8_t data[] = ""; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 0, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("", parser.ReadHexString()); |
- EXPECT_EQ(0, parser.SavePos()); |
- } |
- |
- { |
- // Blank string. |
- uint8_t data[] = " "; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 2, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("", parser.ReadHexString()); |
- EXPECT_EQ(2, parser.SavePos()); |
- } |
- |
- { |
- // Skips unknown characters. |
- uint8_t data[] = "z12b"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 4, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x12\xb0", parser.ReadHexString()); |
- EXPECT_EQ(4, parser.SavePos()); |
- } |
- |
- { |
- // Skips unknown characters. |
- uint8_t data[] = "*<&*#$^&@1"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 10, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x10", parser.ReadHexString()); |
- EXPECT_EQ(10, parser.SavePos()); |
- } |
- |
- { |
- // Skips unknown characters. |
- uint8_t data[] = "\x80zab"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 4, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\xab", parser.ReadHexString()); |
- EXPECT_EQ(4, parser.SavePos()); |
- } |
- |
- { |
- // Skips unknown characters. |
- uint8_t data[] = "\xffzab"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 4, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\xab", parser.ReadHexString()); |
- EXPECT_EQ(4, parser.SavePos()); |
- } |
- |
- { |
- // Regular conversion. |
- uint8_t data[] = "1A2b>abcd"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 9, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x1a\x2b", parser.ReadHexString()); |
- EXPECT_EQ(5, parser.SavePos()); |
- } |
- |
- { |
- // Position out of bounds. |
- uint8_t data[] = "12ab>"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 5, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- parser.RestorePos(5); |
- EXPECT_EQ("", parser.ReadHexString()); |
- |
- parser.RestorePos(6); |
- EXPECT_EQ("", parser.ReadHexString()); |
- |
- parser.RestorePos(-1); |
- EXPECT_EQ("", parser.ReadHexString()); |
- |
- parser.RestorePos(std::numeric_limits<FX_FILESIZE>::max()); |
- EXPECT_EQ("", parser.ReadHexString()); |
- |
- // Check string still parses when set to 0. |
- parser.RestorePos(0); |
- EXPECT_EQ("\x12\xab", parser.ReadHexString()); |
- } |
- |
- { |
- // Missing ending >. |
- uint8_t data[] = "1A2b"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 4, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x1a\x2b", parser.ReadHexString()); |
- EXPECT_EQ(4, parser.SavePos()); |
- } |
- |
- { |
- // Missing ending >. |
- uint8_t data[] = "12abz"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 5, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x12\xab", parser.ReadHexString()); |
- EXPECT_EQ(5, parser.SavePos()); |
- } |
- |
- { |
- // Uneven number of bytes. |
- uint8_t data[] = "1A2>asdf"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 8, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x1a\x20", parser.ReadHexString()); |
- EXPECT_EQ(4, parser.SavePos()); |
- } |
- |
- { |
- // Uneven number of bytes. |
- uint8_t data[] = "1A2zasdf"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 8, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("\x1a\x2a\xdf", parser.ReadHexString()); |
- EXPECT_EQ(8, parser.SavePos()); |
- } |
- |
- { |
- // Just ending character. |
- uint8_t data[] = ">"; |
- ScopedFileStream stream(FX_CreateMemoryStream(data, 1, FALSE)); |
- |
- CPDF_SyntaxParser parser; |
- parser.InitParser(stream.get(), 0); |
- EXPECT_EQ("", parser.ReadHexString()); |
- EXPECT_EQ(1, parser.SavePos()); |
- } |
-} |
- |
-TEST(fpdf_parser_parser, RebuildCrossRefCorrectly) { |
+TEST(cpdf_parser, RebuildCrossRefCorrectly) { |
CPDF_TestParser parser; |
std::string test_file; |
ASSERT_TRUE(PathService::GetTestFilePath("parser_rebuildxref_correct.pdf", |
@@ -248,7 +89,7 @@ TEST(fpdf_parser_parser, RebuildCrossRefCorrectly) { |
EXPECT_EQ(versions[i], parser.m_ObjectInfo[i].gennum); |
} |
-TEST(fpdf_parser_parser, RebuildCrossRefFailed) { |
+TEST(cpdf_parser, RebuildCrossRefFailed) { |
CPDF_TestParser parser; |
std::string test_file; |
ASSERT_TRUE(PathService::GetTestFilePath( |
@@ -258,7 +99,7 @@ TEST(fpdf_parser_parser, RebuildCrossRefFailed) { |
ASSERT_FALSE(parser.RebuildCrossRef()); |
} |
-TEST(fpdf_parser_parser, LoadCrossRefV4) { |
+TEST(cpdf_parser, LoadCrossRefV4) { |
{ |
const unsigned char xref_table[] = |
"xref \n" |