1*a03ca8b9SKrzysztof Kosiński // Copyright 2017 The Chromium Authors. All rights reserved. 2*a03ca8b9SKrzysztof Kosiński // Use of this source code is governed by a BSD-style license that can be 3*a03ca8b9SKrzysztof Kosiński // found in the LICENSE file. 4*a03ca8b9SKrzysztof Kosiński 5*a03ca8b9SKrzysztof Kosiński #ifndef COMPONENTS_ZUCCHINI_TEST_REFERENCE_READER_H_ 6*a03ca8b9SKrzysztof Kosiński #define COMPONENTS_ZUCCHINI_TEST_REFERENCE_READER_H_ 7*a03ca8b9SKrzysztof Kosiński 8*a03ca8b9SKrzysztof Kosiński #include <stddef.h> 9*a03ca8b9SKrzysztof Kosiński 10*a03ca8b9SKrzysztof Kosiński #include <optional> 11*a03ca8b9SKrzysztof Kosiński #include <vector> 12*a03ca8b9SKrzysztof Kosiński 13*a03ca8b9SKrzysztof Kosiński #include "components/zucchini/image_utils.h" 14*a03ca8b9SKrzysztof Kosiński 15*a03ca8b9SKrzysztof Kosiński namespace zucchini { 16*a03ca8b9SKrzysztof Kosiński 17*a03ca8b9SKrzysztof Kosiński // A trivial ReferenceReader that reads injected references. 18*a03ca8b9SKrzysztof Kosiński class TestReferenceReader : public ReferenceReader { 19*a03ca8b9SKrzysztof Kosiński public: 20*a03ca8b9SKrzysztof Kosiński explicit TestReferenceReader(const std::vector<Reference>& refs); 21*a03ca8b9SKrzysztof Kosiński ~TestReferenceReader() override; 22*a03ca8b9SKrzysztof Kosiński 23*a03ca8b9SKrzysztof Kosiński std::optional<Reference> GetNext() override; 24*a03ca8b9SKrzysztof Kosiński 25*a03ca8b9SKrzysztof Kosiński private: 26*a03ca8b9SKrzysztof Kosiński std::vector<Reference> references_; 27*a03ca8b9SKrzysztof Kosiński size_t index_ = 0; 28*a03ca8b9SKrzysztof Kosiński }; 29*a03ca8b9SKrzysztof Kosiński 30*a03ca8b9SKrzysztof Kosiński } // namespace zucchini 31*a03ca8b9SKrzysztof Kosiński 32*a03ca8b9SKrzysztof Kosiński #endif // COMPONENTS_ZUCCHINI_TEST_REFERENCE_READER_H_ 33