Index: webkit/glue/media/simple_data_source_unittest.cc |
diff --git a/webkit/glue/media/simple_data_source_unittest.cc b/webkit/glue/media/simple_data_source_unittest.cc |
index 537798f8a5b1dbbda86ba47a47d4ae8f599f0fb8..83fbb392d0d89025b3ec702c38a280e199588ca2 100644 |
--- a/webkit/glue/media/simple_data_source_unittest.cc |
+++ b/webkit/glue/media/simple_data_source_unittest.cc |
@@ -6,9 +6,15 @@ |
#include "media/base/filters.h" |
#include "media/base/mock_filter_host.h" |
#include "media/base/mock_filters.h" |
-#include "webkit/glue/media/mock_media_resource_loader_bridge_factory.h" |
+#include "net/base/net_errors.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebURLError.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebURLLoader.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebURLRequest.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebURLResponse.h" |
#include "webkit/glue/media/simple_data_source.h" |
-#include "webkit/glue/mock_resource_loader_bridge.h" |
+#include "webkit/glue/mock_webframe.h" |
+#include "webkit/glue/mock_weburlloader_impl.h" |
using ::testing::_; |
using ::testing::DoAll; |
@@ -21,6 +27,11 @@ using ::testing::SetArgumentPointee; |
using ::testing::StrictMock; |
using ::testing::WithArgs; |
+using WebKit::WebURLError; |
+using WebKit::WebURLLoader; |
+using WebKit::WebURLRequest; |
+using WebKit::WebURLResponse; |
+ |
namespace { |
const int kDataSize = 1024; |
@@ -39,68 +50,59 @@ namespace webkit_glue { |
class SimpleDataSourceTest : public testing::Test { |
public: |
SimpleDataSourceTest() { |
- bridge_factory_.reset( |
- new NiceMock<MockMediaResourceLoaderBridgeFactory>()); |
- bridge_.reset(new NiceMock<MockResourceLoaderBridge>()); |
- |
for (int i = 0; i < kDataSize; ++i) { |
data_[i] = i; |
} |
} |
virtual ~SimpleDataSourceTest() { |
- if (bridge_.get()) |
- EXPECT_CALL(*bridge_, OnDestroy()); |
- if (bridge_factory_.get()) |
- EXPECT_CALL(*bridge_factory_, OnDestroy()); |
+ if (frame_.get()) |
+ EXPECT_CALL(*frame_, OnFrameDestroy()) |
scherkus (not reviewing)
2010/11/22 21:27:29
try to use {} for non-one-liner ifs
annacc
2010/11/24 21:34:44
Changed to no longer expect a OnDestroy(). Now ju
|
+ .WillOnce(Invoke(this, |
+ &SimpleDataSourceTest::ReleaseWebFrame)); |
} |
void InitializeDataSource(const char* url) { |
+ gurl_ = GURL(url); |
+ |
+ frame_.reset(new NiceMock<MockWebFrame>()); |
+ url_loader_ = new NiceMock<MockWebURLLoader>(); |
+ |
data_source_ = new SimpleDataSource(MessageLoop::current(), |
- bridge_factory_.get()); |
- CHECK(data_source_); |
+ frame_.get()); |
// There is no need to provide a message loop to data source. |
data_source_->set_host(&host_); |
+ data_source_->SetURLLoaderForTest(url_loader_); |
- // First a bridge is created. |
InSequence s; |
- EXPECT_CALL(*bridge_factory_, CreateBridge(GURL(url), _, -1, -1)) |
- .WillOnce(Return(bridge_.get())); |
- EXPECT_CALL(*bridge_, Start(data_source_.get())) |
- .WillOnce(Return(true)); |
data_source_->Initialize(url, callback_.NewCallback()); |
- |
MessageLoop::current()->RunAllPending(); |
} |
void RequestSucceeded(bool is_loaded) { |
- ResourceResponseInfo info; |
- info.content_length = kDataSize; |
+ WebURLResponse response(gurl_); |
+ response.setExpectedContentLength(kDataSize); |
- data_source_->OnReceivedResponse(info, false); |
+ data_source_->didReceiveResponse(NULL, response); |
int64 size; |
EXPECT_TRUE(data_source_->GetSize(&size)); |
EXPECT_EQ(kDataSize, size); |
- for (int i = 0; i < kDataSize; ++i) |
- data_source_->OnReceivedData(data_ + i, 1); |
+ for (int i = 0; i < kDataSize; ++i) { |
+ data_source_->didReceiveData(NULL, data_ + i, 1); |
+ } |
EXPECT_CALL(host_, SetLoaded(is_loaded)); |
InSequence s; |
- EXPECT_CALL(*bridge_, OnDestroy()) |
- .WillOnce(Invoke(this, &SimpleDataSourceTest::ReleaseBridge)); |
EXPECT_CALL(host_, SetTotalBytes(kDataSize)); |
EXPECT_CALL(host_, SetBufferedBytes(kDataSize)); |
EXPECT_CALL(callback_, OnFilterCallback()); |
EXPECT_CALL(callback_, OnCallbackDestroyed()); |
- URLRequestStatus status; |
- status.set_status(URLRequestStatus::SUCCESS); |
- status.set_os_error(0); |
- data_source_->OnCompletedRequest(status, "", base::Time()); |
+ data_source_->didFinishLoading(NULL, 0); |
// Let the tasks to be executed. |
MessageLoop::current()->RunAllPending(); |
@@ -108,34 +110,34 @@ class SimpleDataSourceTest : public testing::Test { |
void RequestFailed() { |
InSequence s; |
- EXPECT_CALL(*bridge_, OnDestroy()) |
- .WillOnce(Invoke(this, &SimpleDataSourceTest::ReleaseBridge)); |
EXPECT_CALL(host_, SetError(media::PIPELINE_ERROR_NETWORK)); |
EXPECT_CALL(callback_, OnFilterCallback()); |
EXPECT_CALL(callback_, OnCallbackDestroyed()); |
- URLRequestStatus status; |
- status.set_status(URLRequestStatus::FAILED); |
- status.set_os_error(100); |
- data_source_->OnCompletedRequest(status, "", base::Time()); |
+ WebURLError error; |
+ error.reason = net::ERR_FAILED; |
+ data_source_->didFail(NULL, error); |
// Let the tasks to be executed. |
MessageLoop::current()->RunAllPending(); |
} |
void DestroyDataSource() { |
- EXPECT_CALL(*bridge_factory_, OnDestroy()) |
- .WillOnce(Invoke(this, &SimpleDataSourceTest::ReleaseBridgeFactory)); |
- |
StrictMock<media::MockFilterCallback> callback; |
EXPECT_CALL(callback, OnFilterCallback()); |
EXPECT_CALL(callback, OnCallbackDestroyed()); |
+ EXPECT_CALL(*url_loader_, OnURLDestroy()); |
+ |
data_source_->Stop(callback.NewCallback()); |
MessageLoop::current()->RunAllPending(); |
data_source_ = NULL; |
} |
+ void ReleaseWebFrame() { |
+ ignore_result(frame_.release()); |
+ } |
+ |
void AsyncRead() { |
for (int i = 0; i < kDataSize; ++i) { |
uint8 buffer[1]; |
@@ -148,23 +150,17 @@ class SimpleDataSourceTest : public testing::Test { |
} |
} |
- void ReleaseBridge() { |
- ignore_result(bridge_.release()); |
- } |
- |
- void ReleaseBridgeFactory() { |
- ignore_result(bridge_factory_.release()); |
- } |
- |
MOCK_METHOD1(ReadCallback, void(size_t size)); |
protected: |
+ GURL gurl_; |
scoped_ptr<MessageLoop> message_loop_; |
- scoped_ptr<NiceMock<MockMediaResourceLoaderBridgeFactory> > bridge_factory_; |
- scoped_ptr<NiceMock<MockResourceLoaderBridge> > bridge_; |
+ NiceMock<MockWebURLLoader>* url_loader_; |
scoped_refptr<SimpleDataSource> data_source_; |
StrictMock<media::MockFilterHost> host_; |
StrictMock<media::MockFilterCallback> callback_; |
+ scoped_ptr<NiceMock<MockWebFrame> > frame_; |
+ |
char data_[kDataSize]; |
DISALLOW_COPY_AND_ASSIGN(SimpleDataSourceTest); |
@@ -189,13 +185,16 @@ TEST_F(SimpleDataSourceTest, InitializeFile) { |
} |
TEST_F(SimpleDataSourceTest, InitializeData) { |
+ frame_.reset(new NiceMock<MockWebFrame>()); |
+ url_loader_ = new NiceMock<MockWebURLLoader>(); |
+ |
data_source_ = new SimpleDataSource(MessageLoop::current(), |
- bridge_factory_.get()); |
+ frame_.get()); |
EXPECT_TRUE(data_source_->IsUrlSupported(kDataUrl)); |
- CHECK(data_source_); |
// There is no need to provide a message loop to data source. |
data_source_->set_host(&host_); |
+ data_source_->SetURLLoaderForTest(url_loader_); |
EXPECT_CALL(host_, SetLoaded(true)); |
EXPECT_CALL(host_, SetTotalBytes(sizeof(kDataUrlDecoded))); |
@@ -218,9 +217,7 @@ TEST_F(SimpleDataSourceTest, RequestFailed) { |
TEST_F(SimpleDataSourceTest, StopWhenDownloading) { |
InitializeDataSource(kHttpUrl); |
- EXPECT_CALL(*bridge_, Cancel()); |
- EXPECT_CALL(*bridge_, OnDestroy()) |
- .WillOnce(Invoke(this, &SimpleDataSourceTest::ReleaseBridge)); |
+ EXPECT_CALL(*url_loader_, cancel()); |
EXPECT_CALL(callback_, OnCallbackDestroyed()); |
DestroyDataSource(); |
} |