blob: a828d825abf9f99e3f90a6435df9d2c993263faf [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"
Lei Zhang9160cec2018-07-25 20:09:58 +000012#include "third_party/base/span.h"
Henrique Nakashimab9776c72017-06-23 15:03:50 -040013
14// Output stream operator so GTEST macros work with CFX_DateTime objects.
15std::ostream& operator<<(std::ostream& os, const CFX_DateTime& dt);
16
Ryan Harrisona5c32a12017-09-28 17:12:31 -040017class CFX_InvalidSeekableReadStream : public IFX_SeekableReadStream {
18 public:
19 template <typename T, typename... Args>
20 friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
21
22 // IFX_SeekableReadStream overrides:
23 bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override {
24 return false;
25 }
26 FX_FILESIZE GetSize() override { return data_size_; }
27
28 private:
Lei Zhang86688de2018-05-22 22:06:49 +000029 explicit CFX_InvalidSeekableReadStream(FX_FILESIZE data_size);
30 ~CFX_InvalidSeekableReadStream() override;
Ryan Harrisona5c32a12017-09-28 17:12:31 -040031
Lei Zhang86688de2018-05-22 22:06:49 +000032 const FX_FILESIZE data_size_;
Ryan Harrisona5c32a12017-09-28 17:12:31 -040033};
34
Henrique Nakashimab9776c72017-06-23 15:03:50 -040035#endif // TESTING_FX_STRING_TESTHELPERS_H_