| 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 55dc913e4001e62b3a02ad0e2b10a6bd85ab5b95..82acaadf8dcc3b6ee8c0673007e1afb6ec8346a1 100644
|
| --- a/webkit/glue/media/simple_data_source_unittest.cc
|
| +++ b/webkit/glue/media/simple_data_source_unittest.cc
|
| @@ -1,9 +1,9 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "base/callback.h"
|
| #include "media/base/filters.h"
|
| +#include "media/base/mock_callback.h"
|
| #include "media/base/mock_filter_host.h"
|
| #include "media/base/mock_filters.h"
|
| #include "net/base/net_errors.h"
|
| @@ -59,7 +59,8 @@ class SimpleDataSourceTest : public testing::Test {
|
| ignore_result(frame_.release());
|
| }
|
|
|
| - void InitializeDataSource(const char* url) {
|
| + void InitializeDataSource(const char* url,
|
| + media::MockCallback* callback) {
|
| gurl_ = GURL(url);
|
|
|
| frame_.reset(new NiceMock<MockWebFrame>());
|
| @@ -72,9 +73,7 @@ class SimpleDataSourceTest : public testing::Test {
|
| data_source_->set_host(&host_);
|
| data_source_->SetURLLoaderForTest(url_loader_);
|
|
|
| - InSequence s;
|
| -
|
| - data_source_->Initialize(url, callback_.NewCallback());
|
| + data_source_->Initialize(url, callback);
|
| MessageLoop::current()->RunAllPending();
|
| }
|
|
|
| @@ -96,8 +95,6 @@ class SimpleDataSourceTest : public testing::Test {
|
| InSequence s;
|
| EXPECT_CALL(host_, SetTotalBytes(kDataSize));
|
| EXPECT_CALL(host_, SetBufferedBytes(kDataSize));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
|
|
| data_source_->didFinishLoading(NULL, 0);
|
|
|
| @@ -108,8 +105,6 @@ class SimpleDataSourceTest : public testing::Test {
|
| void RequestFailed() {
|
| InSequence s;
|
| EXPECT_CALL(host_, SetError(media::PIPELINE_ERROR_NETWORK));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
|
|
| WebURLError error;
|
| error.reason = net::ERR_FAILED;
|
| @@ -120,11 +115,7 @@ class SimpleDataSourceTest : public testing::Test {
|
| }
|
|
|
| void DestroyDataSource() {
|
| - StrictMock<media::MockFilterCallback> callback;
|
| - EXPECT_CALL(callback, OnFilterCallback());
|
| - EXPECT_CALL(callback, OnCallbackDestroyed());
|
| -
|
| - data_source_->Stop(callback.NewCallback());
|
| + data_source_->Stop(media::NewExpectedCallback());
|
| MessageLoop::current()->RunAllPending();
|
|
|
| data_source_ = NULL;
|
| @@ -150,7 +141,6 @@ class SimpleDataSourceTest : public testing::Test {
|
| 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];
|
| @@ -159,19 +149,19 @@ class SimpleDataSourceTest : public testing::Test {
|
| };
|
|
|
| TEST_F(SimpleDataSourceTest, InitializeHTTP) {
|
| - InitializeDataSource(kHttpUrl);
|
| + InitializeDataSource(kHttpUrl, media::NewExpectedCallback());
|
| RequestSucceeded(false);
|
| DestroyDataSource();
|
| }
|
|
|
| TEST_F(SimpleDataSourceTest, InitializeHTTPS) {
|
| - InitializeDataSource(kHttpsUrl);
|
| + InitializeDataSource(kHttpsUrl, media::NewExpectedCallback());
|
| RequestSucceeded(false);
|
| DestroyDataSource();
|
| }
|
|
|
| TEST_F(SimpleDataSourceTest, InitializeFile) {
|
| - InitializeDataSource(kFileUrl);
|
| + InitializeDataSource(kFileUrl, media::NewExpectedCallback());
|
| RequestSucceeded(true);
|
| DestroyDataSource();
|
| }
|
| @@ -191,31 +181,34 @@ TEST_F(SimpleDataSourceTest, InitializeData) {
|
| EXPECT_CALL(host_, SetLoaded(true));
|
| EXPECT_CALL(host_, SetTotalBytes(sizeof(kDataUrlDecoded)));
|
| EXPECT_CALL(host_, SetBufferedBytes(sizeof(kDataUrlDecoded)));
|
| - EXPECT_CALL(callback_, OnFilterCallback());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
|
|
| - data_source_->Initialize(kDataUrl, callback_.NewCallback());
|
| + data_source_->Initialize(kDataUrl, media::NewExpectedCallback());
|
| MessageLoop::current()->RunAllPending();
|
|
|
| DestroyDataSource();
|
| }
|
|
|
| TEST_F(SimpleDataSourceTest, RequestFailed) {
|
| - InitializeDataSource(kHttpUrl);
|
| + InitializeDataSource(kHttpUrl, media::NewExpectedCallback());
|
| RequestFailed();
|
| DestroyDataSource();
|
| }
|
|
|
| TEST_F(SimpleDataSourceTest, StopWhenDownloading) {
|
| - InitializeDataSource(kHttpUrl);
|
| + // The callback should be deleted, but not executed.
|
| + // TODO(scherkus): should this really be the behaviour? Seems strange...
|
| + StrictMock<media::MockCallback>* callback =
|
| + new StrictMock<media::MockCallback>();
|
| + EXPECT_CALL(*callback, Destructor());
|
| +
|
| + InitializeDataSource(kHttpUrl, callback);
|
|
|
| EXPECT_CALL(*url_loader_, cancel());
|
| - EXPECT_CALL(callback_, OnCallbackDestroyed());
|
| DestroyDataSource();
|
| }
|
|
|
| TEST_F(SimpleDataSourceTest, AsyncRead) {
|
| - InitializeDataSource(kFileUrl);
|
| + InitializeDataSource(kFileUrl, media::NewExpectedCallback());
|
| RequestSucceeded(true);
|
| AsyncRead();
|
| DestroyDataSource();
|
|
|