| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/callback.h" | 5 #include "base/bind.h" |
| 6 #include "base/bind_helpers.h" |
| 6 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 7 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 8 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 9 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| 10 #include "chrome/browser/extensions/file_reader.h" | 11 #include "chrome/browser/extensions/file_reader.h" |
| 11 #include "chrome/common/chrome_paths.h" | 12 #include "chrome/common/chrome_paths.h" |
| 12 #include "chrome/common/extensions/extension.h" | 13 #include "chrome/common/extensions/extension.h" |
| 13 #include "chrome/common/extensions/extension_resource.h" | 14 #include "chrome/common/extensions/extension_resource.h" |
| 14 #include "chrome/common/extensions/extension_test_util.h" | 15 #include "chrome/common/extensions/extension_test_util.h" |
| 15 #include "content/browser/browser_thread.h" | 16 #include "content/browser/browser_thread.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
| 17 | 18 |
| 18 namespace { | 19 namespace { |
| 19 | 20 |
| 20 class FileReaderTest : public testing::Test { | 21 class FileReaderTest : public testing::Test { |
| 21 public: | 22 public: |
| 22 FileReaderTest() : file_thread_(BrowserThread::FILE) { | 23 FileReaderTest() : file_thread_(BrowserThread::FILE) { |
| 23 file_thread_.Start(); | 24 file_thread_.Start(); |
| 24 } | 25 } |
| 25 private: | 26 private: |
| 26 MessageLoop message_loop_; | 27 MessageLoop message_loop_; |
| 27 BrowserThread file_thread_; | 28 BrowserThread file_thread_; |
| 28 }; | 29 }; |
| 29 | 30 |
| 30 class Receiver { | 31 class Receiver { |
| 31 public: | 32 public: |
| 32 Receiver() : succeeded_(false) { | 33 Receiver() : succeeded_(false) { |
| 33 } | 34 } |
| 34 | 35 |
| 35 FileReader::Callback* NewCallback() { | 36 FileReader::Callback NewCallback() { |
| 36 return ::NewCallback(this, &Receiver::DidReadFile); | 37 return base::Bind(&Receiver::DidReadFile, base::Unretained(this)); |
| 37 } | 38 } |
| 38 | 39 |
| 39 bool succeeded() const { return succeeded_; } | 40 bool succeeded() const { return succeeded_; } |
| 40 const std::string& data() const { return data_; } | 41 const std::string& data() const { return data_; } |
| 41 | 42 |
| 42 private: | 43 private: |
| 43 void DidReadFile(bool success, const std::string& data) { | 44 void DidReadFile(bool success, const std::string& data) { |
| 44 succeeded_ = success; | 45 succeeded_ = success; |
| 45 data_ = data; | 46 data_ = data; |
| 46 MessageLoop::current()->Quit(); | 47 MessageLoop::current()->Quit(); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 scoped_refptr<FileReader> file_reader( | 95 scoped_refptr<FileReader> file_reader( |
| 95 new FileReader(resource, receiver.NewCallback())); | 96 new FileReader(resource, receiver.NewCallback())); |
| 96 file_reader->Start(); | 97 file_reader->Start(); |
| 97 | 98 |
| 98 MessageLoop::current()->Run(); | 99 MessageLoop::current()->Run(); |
| 99 | 100 |
| 100 EXPECT_FALSE(receiver.succeeded()); | 101 EXPECT_FALSE(receiver.succeeded()); |
| 101 } | 102 } |
| 102 | 103 |
| 103 } // namespace | 104 } // namespace |
| OLD | NEW |