Split InvalidSeekableReadStream into its own file.
Rename it from CFX_InvalidSeekableReadStream and move it out of
testing/fx_string_testhelpers.h, since it has nothing to do with
strings.
Change-Id: I79709e4e15c14e08cce8c4999ea54a146b3bb2f9
Reviewed-on: https://pdfium-review.googlesource.com/c/49891
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp b/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp
index d62abfe..9bbc8f4 100644
--- a/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_object_avail_unittest.cpp
@@ -15,8 +15,8 @@
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fxcrt/fx_stream.h"
-#include "testing/fx_string_testhelpers.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/invalid_seekable_read_stream.h"
#include "third_party/base/ptr_util.h"
namespace {
@@ -30,9 +30,8 @@
private:
TestReadValidator()
- : CPDF_ReadValidator(
- pdfium::MakeRetain<CFX_InvalidSeekableReadStream>(100),
- nullptr) {}
+ : CPDF_ReadValidator(pdfium::MakeRetain<InvalidSeekableReadStream>(100),
+ nullptr) {}
~TestReadValidator() override {}
};
diff --git a/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp b/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp
index 7641dfe..e3f97df 100644
--- a/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp
@@ -15,8 +15,8 @@
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fxcrt/fx_stream.h"
-#include "testing/fx_string_testhelpers.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/invalid_seekable_read_stream.h"
#include "third_party/base/ptr_util.h"
namespace {
@@ -30,9 +30,8 @@
private:
TestReadValidator()
- : CPDF_ReadValidator(
- pdfium::MakeRetain<CFX_InvalidSeekableReadStream>(100),
- nullptr) {}
+ : CPDF_ReadValidator(pdfium::MakeRetain<InvalidSeekableReadStream>(100),
+ nullptr) {}
~TestReadValidator() override {}
};
diff --git a/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp b/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
index aefc524..97390bc 100644
--- a/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_read_validator_unittest.cpp
@@ -9,8 +9,8 @@
#include <vector>
#include "core/fxcrt/cfx_readonlymemorystream.h"
-#include "testing/fx_string_testhelpers.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "testing/invalid_seekable_read_stream.h"
namespace {
@@ -131,7 +131,7 @@
}
TEST(CPDF_ReadValidatorTest, ReadError) {
- auto file = pdfium::MakeRetain<CFX_InvalidSeekableReadStream>(kTestDataSize);
+ auto file = pdfium::MakeRetain<InvalidSeekableReadStream>(kTestDataSize);
auto validator = pdfium::MakeRetain<CPDF_ReadValidator>(file, nullptr);
static const uint32_t kBufferSize = 3 * 1000;
@@ -163,7 +163,7 @@
TEST(CPDF_ReadValidatorTest, Session) {
std::vector<uint8_t> test_data(kTestDataSize);
- auto file = pdfium::MakeRetain<CFX_InvalidSeekableReadStream>(kTestDataSize);
+ auto file = pdfium::MakeRetain<InvalidSeekableReadStream>(kTestDataSize);
MockFileAvail file_avail;
MockDownloadHints hints;
auto validator = pdfium::MakeRetain<CPDF_ReadValidator>(file, &file_avail);
@@ -201,7 +201,7 @@
TEST(CPDF_ReadValidatorTest, SessionReset) {
std::vector<uint8_t> test_data(kTestDataSize);
- auto file = pdfium::MakeRetain<CFX_InvalidSeekableReadStream>(kTestDataSize);
+ auto file = pdfium::MakeRetain<InvalidSeekableReadStream>(kTestDataSize);
MockFileAvail file_avail;
MockDownloadHints hints;
auto validator = pdfium::MakeRetain<CPDF_ReadValidator>(file, &file_avail);
diff --git a/testing/BUILD.gn b/testing/BUILD.gn
index 0fed059..9e7fadc 100644
--- a/testing/BUILD.gn
+++ b/testing/BUILD.gn
@@ -10,6 +10,8 @@
sources = [
"fx_string_testhelpers.cpp",
"fx_string_testhelpers.h",
+ "invalid_seekable_read_stream.cpp",
+ "invalid_seekable_read_stream.h",
"pseudo_retainable.h",
"string_write_stream.cpp",
"string_write_stream.h",
diff --git a/testing/fx_string_testhelpers.cpp b/testing/fx_string_testhelpers.cpp
index 96f2c64..443cc89 100644
--- a/testing/fx_string_testhelpers.cpp
+++ b/testing/fx_string_testhelpers.cpp
@@ -16,9 +16,3 @@
<< std::to_string(dt.GetMillisecond());
return os;
}
-
-CFX_InvalidSeekableReadStream::CFX_InvalidSeekableReadStream(
- FX_FILESIZE data_size)
- : data_size_(data_size) {}
-
-CFX_InvalidSeekableReadStream::~CFX_InvalidSeekableReadStream() = default;
diff --git a/testing/fx_string_testhelpers.h b/testing/fx_string_testhelpers.h
index 0eec4d8..34ac69d 100644
--- a/testing/fx_string_testhelpers.h
+++ b/testing/fx_string_testhelpers.h
@@ -8,29 +8,8 @@
#include <ostream>
#include "core/fxcrt/cfx_datetime.h"
-#include "core/fxcrt/fx_stream.h"
// Output stream operator so GTEST macros work with CFX_DateTime objects.
std::ostream& operator<<(std::ostream& os, const CFX_DateTime& dt);
-class CFX_InvalidSeekableReadStream final : public IFX_SeekableReadStream {
- public:
- template <typename T, typename... Args>
- friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
-
- // IFX_SeekableReadStream overrides:
- bool ReadBlockAtOffset(void* buffer,
- FX_FILESIZE offset,
- size_t size) override {
- return false;
- }
- FX_FILESIZE GetSize() override { return data_size_; }
-
- private:
- explicit CFX_InvalidSeekableReadStream(FX_FILESIZE data_size);
- ~CFX_InvalidSeekableReadStream() override;
-
- const FX_FILESIZE data_size_;
-};
-
#endif // TESTING_FX_STRING_TESTHELPERS_H_
diff --git a/testing/invalid_seekable_read_stream.cpp b/testing/invalid_seekable_read_stream.cpp
new file mode 100644
index 0000000..a4116b0
--- /dev/null
+++ b/testing/invalid_seekable_read_stream.cpp
@@ -0,0 +1,20 @@
+// Copyright 2019 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/invalid_seekable_read_stream.h"
+
+InvalidSeekableReadStream::InvalidSeekableReadStream(FX_FILESIZE data_size)
+ : data_size_(data_size) {}
+
+InvalidSeekableReadStream::~InvalidSeekableReadStream() = default;
+
+bool InvalidSeekableReadStream::ReadBlockAtOffset(void* buffer,
+ FX_FILESIZE offset,
+ size_t size) {
+ return false;
+}
+
+FX_FILESIZE InvalidSeekableReadStream::GetSize() {
+ return data_size_;
+}
diff --git a/testing/invalid_seekable_read_stream.h b/testing/invalid_seekable_read_stream.h
new file mode 100644
index 0000000..9322bc6
--- /dev/null
+++ b/testing/invalid_seekable_read_stream.h
@@ -0,0 +1,29 @@
+// Copyright 2019 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.
+
+#ifndef TESTING_INVALID_SEEKABLE_READ_STREAM_H_
+#define TESTING_INVALID_SEEKABLE_READ_STREAM_H_
+
+#include "core/fxcrt/fx_stream.h"
+
+// A stream used for testing where reads always fail.
+class InvalidSeekableReadStream final : public IFX_SeekableReadStream {
+ public:
+ template <typename T, typename... Args>
+ friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
+
+ // IFX_SeekableReadStream overrides:
+ bool ReadBlockAtOffset(void* buffer,
+ FX_FILESIZE offset,
+ size_t size) override;
+ FX_FILESIZE GetSize() override;
+
+ private:
+ explicit InvalidSeekableReadStream(FX_FILESIZE data_size);
+ ~InvalidSeekableReadStream() override;
+
+ const FX_FILESIZE data_size_;
+};
+
+#endif // TESTING_INVALID_SEEKABLE_READ_STREAM_H_