| Index: net/base/mock_file_stream.h
|
| diff --git a/net/base/mock_file_stream.h b/net/base/mock_file_stream.h
|
| index a37b49546d4faeacf26dffacc4f287b9af4d1378..59c688ea1ece50c093bbf919b88c92abb77f66a3 100644
|
| --- a/net/base/mock_file_stream.h
|
| +++ b/net/base/mock_file_stream.h
|
| @@ -10,6 +10,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/compiler_specific.h"
|
| #include "base/files/file_path.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "net/base/file_stream.h"
|
| #include "net/base/net_errors.h"
|
|
|
| @@ -21,11 +22,10 @@ namespace testing {
|
|
|
| class MockFileStream : public net::FileStream {
|
| public:
|
| - MockFileStream(net::NetLog* net_log)
|
| - : net::FileStream(net_log), forced_error_(net::OK) {}
|
| -
|
| - MockFileStream(base::PlatformFile file, int flags, net::NetLog* net_log)
|
| - : net::FileStream(file, flags, net_log), forced_error_(net::OK) {}
|
| + MockFileStream(net::NetLog* net_log);
|
| + MockFileStream(base::PlatformFile file, int flags, net::NetLog* net_log);
|
| + MockFileStream(base::PlatformFile file, int flags, net::NetLog* net_log,
|
| + const scoped_refptr<base::TaskRunner>& task_runner);
|
|
|
| // FileStream methods.
|
| virtual int OpenSync(const base::FilePath& path, int open_flags) OVERRIDE;
|
| @@ -46,11 +46,21 @@ class MockFileStream : public net::FileStream {
|
| virtual int Flush(const CompletionCallback& callback) OVERRIDE;
|
| virtual int FlushSync() OVERRIDE;
|
|
|
| + void set_forced_error_async(int error) {
|
| + forced_error_ = error;
|
| + async_error_ = true;
|
| + }
|
| void set_forced_error(int error) { forced_error_ = error; }
|
| - void clear_forced_error() { forced_error_ = net::OK; }
|
| + void clear_forced_error() {
|
| + forced_error_ = net::OK;
|
| + async_error_ = false;
|
| + }
|
| int forced_error() const { return forced_error_; }
|
| const base::FilePath& get_path() const { return path_; }
|
|
|
| + void ThrottleCallbacks();
|
| + void ReleaseCallbacks();
|
| +
|
| private:
|
| int ReturnError(int function_error) {
|
| if (forced_error_ != net::OK) {
|
| @@ -72,8 +82,19 @@ class MockFileStream : public net::FileStream {
|
| return function_error;
|
| }
|
|
|
| + void DoCallback(const CompletionCallback& callback, int result);
|
| + void DoCallback64(const Int64CompletionCallback& callback, int64 result);
|
| +
|
| + int ErrorCallback(const CompletionCallback& callback);
|
| + int64 ErrorCallback64(const Int64CompletionCallback& callback);
|
| +
|
| int forced_error_;
|
| + bool async_error_;
|
| + bool throttled_;
|
| + base::Closure throttled_task_;
|
| base::FilePath path_;
|
| +
|
| + base::WeakPtrFactory<MockFileStream> weak_factory_;
|
| };
|
|
|
| } // namespace testing
|
|
|