blob: 0eec4d8343864549f039f488a3bcb9b0b7bb9f73 [file] [log] [blame]
Henrique Nakashimab9776c72017-06-23 15:03:50 -04001// Copyright 2014 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef TESTING_FX_STRING_TESTHELPERS_H_
6#define TESTING_FX_STRING_TESTHELPERS_H_
7
8#include <ostream>
9
10#include "core/fxcrt/cfx_datetime.h"
Ryan Harrisona5c32a12017-09-28 17:12:31 -040011#include "core/fxcrt/fx_stream.h"
Henrique Nakashimab9776c72017-06-23 15:03:50 -040012
13// Output stream operator so GTEST macros work with CFX_DateTime objects.
14std::ostream& operator<<(std::ostream& os, const CFX_DateTime& dt);
15
Tom Sepez55865452018-08-27 20:18:04 +000016class CFX_InvalidSeekableReadStream final : public IFX_SeekableReadStream {
Ryan Harrisona5c32a12017-09-28 17:12:31 -040017 public:
18 template <typename T, typename... Args>
19 friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
20
21 // IFX_SeekableReadStream overrides:
Lei Zhangf6a79212018-11-15 20:17:49 +000022 bool ReadBlockAtOffset(void* buffer,
23 FX_FILESIZE offset,
24 size_t size) override {
Ryan Harrisona5c32a12017-09-28 17:12:31 -040025 return false;
26 }
27 FX_FILESIZE GetSize() override { return data_size_; }
28
29 private:
Lei Zhang86688de2018-05-22 22:06:49 +000030 explicit CFX_InvalidSeekableReadStream(FX_FILESIZE data_size);
31 ~CFX_InvalidSeekableReadStream() override;
Ryan Harrisona5c32a12017-09-28 17:12:31 -040032
Lei Zhang86688de2018-05-22 22:06:49 +000033 const FX_FILESIZE data_size_;
Ryan Harrisona5c32a12017-09-28 17:12:31 -040034};
35
Henrique Nakashimab9776c72017-06-23 15:03:50 -040036#endif // TESTING_FX_STRING_TESTHELPERS_H_