diff options
Diffstat (limited to 'test/src')
-rw-r--r-- | test/src/mbgl/test/fake_file_source.hpp | 14 | ||||
-rw-r--r-- | test/src/mbgl/test/stub_file_source.hpp | 14 |
2 files changed, 28 insertions, 0 deletions
diff --git a/test/src/mbgl/test/fake_file_source.hpp b/test/src/mbgl/test/fake_file_source.hpp index baae7f9b7e..8803e9576b 100644 --- a/test/src/mbgl/test/fake_file_source.hpp +++ b/test/src/mbgl/test/fake_file_source.hpp @@ -1,6 +1,7 @@ #pragma once #include <mbgl/storage/file_source.hpp> +#include <mbgl/storage/online_file_source.hpp> #include <algorithm> #include <list> @@ -56,6 +57,19 @@ public: } std::list<FakeFileRequest*> requests; + +}; + +class FakeOnlineFileSource : public OnlineFileSource, public FakeFileSource { +public: + std::unique_ptr<AsyncRequest> request(const Resource& resource, Callback callback) override { + return FakeFileSource::request(resource, callback); + } + + bool respond(Resource::Kind kind, const Response& response) { + return FakeFileSource::respond(kind, response); + } }; + } // namespace mbgl diff --git a/test/src/mbgl/test/stub_file_source.hpp b/test/src/mbgl/test/stub_file_source.hpp index 6cee8377c6..1135fa9a80 100644 --- a/test/src/mbgl/test/stub_file_source.hpp +++ b/test/src/mbgl/test/stub_file_source.hpp @@ -1,6 +1,7 @@ #pragma once #include <mbgl/storage/file_source.hpp> +#include <mbgl/storage/online_file_source.hpp> #include <mbgl/util/timer.hpp> #include <unordered_map> @@ -37,6 +38,8 @@ public: ResponseFunction imageResponse; private: + friend class StubOnlineFileSource; + // The default behavior is to throw if no per-kind callback has been set. optional<Response> defaultResponse(const Resource&); @@ -45,4 +48,15 @@ private: util::Timer timer; }; +class StubOnlineFileSource : public StubFileSource, public OnlineFileSource { +public: + + StubOnlineFileSource(ResponseType t = ResponseType::Asynchronous) : StubFileSource(t) {}; + ~StubOnlineFileSource() override = default; + + std::unique_ptr<AsyncRequest> request(const Resource& r, Callback c) override { return StubFileSource::request(r, c); }; + void remove(AsyncRequest* r) { StubFileSource::remove(r); }; +}; + + } // namespace mbgl |