summaryrefslogtreecommitdiff
path: root/core/fpdfapi/parser/cpdf_parser_unittest.cpp
diff options
context:
space:
mode:
authorRyan Harrison <rharrison@chromium.org>2017-09-28 17:12:31 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-09-29 14:26:15 +0000
commita5c32a120ae918ecebab4042b3e52278f7a24b51 (patch)
tree3400953772db763e32ade601170a46c00982e49f /core/fpdfapi/parser/cpdf_parser_unittest.cpp
parent10e1f05a9e644cd954792bcd40ef787551cbd209 (diff)
downloadpdfium-a5c32a120ae918ecebab4042b3e52278f7a24b51.tar.xz
Extract test subclasses of IFX_SeekableReadStream
There are multiple instances of subclasses that either act as an invalid stream or one backed by a memory buffer. Merging all of these into two shared stream classes and removing the others. BUG=pdfium:911 Change-Id: I264602808c6dc0e5c878da462a5e00883fe43e51 Reviewed-on: https://pdfium-review.googlesource.com/15093 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_parser_unittest.cpp')
-rw-r--r--core/fpdfapi/parser/cpdf_parser_unittest.cpp30
1 files changed, 3 insertions, 27 deletions
diff --git a/core/fpdfapi/parser/cpdf_parser_unittest.cpp b/core/fpdfapi/parser/cpdf_parser_unittest.cpp
index b3352975a9..53e1434141 100644
--- a/core/fpdfapi/parser/cpdf_parser_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_parser_unittest.cpp
@@ -10,34 +10,10 @@
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/retain_ptr.h"
+#include "testing/fx_string_testhelpers.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/utils/path_service.h"
-// Provide a way to read test data from a buffer instead of a file.
-class CFX_TestBufferRead : public IFX_SeekableReadStream {
- public:
- template <typename T, typename... Args>
- friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
-
- // IFX_SeekableReadStream:
- bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
- if (offset < 0 || offset + size > total_size_)
- return false;
-
- memcpy(buffer, buffer_ + offset, size);
- return true;
- }
-
- FX_FILESIZE GetSize() override { return (FX_FILESIZE)total_size_; };
-
- protected:
- CFX_TestBufferRead(const unsigned char* buffer_in, size_t buf_size)
- : buffer_(buffer_in), total_size_(buf_size) {}
-
- const unsigned char* buffer_;
- size_t total_size_;
-};
-
// A wrapper class to help test member functions of CPDF_Parser.
class CPDF_TestParser : public CPDF_Parser {
public:
@@ -59,8 +35,8 @@ class CPDF_TestParser : public CPDF_Parser {
// Setup reading from a buffer and initial states.
bool InitTestFromBuffer(const unsigned char* buffer, size_t len) {
// For the test file, the header is set at the beginning.
- m_pSyntax->InitParser(pdfium::MakeRetain<CFX_TestBufferRead>(buffer, len),
- 0);
+ m_pSyntax->InitParser(
+ pdfium::MakeRetain<CFX_BufferSeekableReadStream>(buffer, len), 0);
return true;
}