diff options
author | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-03 22:07:15 +0000 |
---|---|---|
committer | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-03 22:07:15 +0000 |
commit | 0cb30b2153c9673714836b82156f9607cdca4f6a (patch) | |
tree | 1c13990b4a4e4f606dae8e99e1714dbceceb1cd7 /remoting | |
parent | 5dcb461e8089685146fdb794cde87fd74fc50fe4 (diff) | |
download | chromium_src-0cb30b2153c9673714836b82156f9607cdca4f6a.zip chromium_src-0cb30b2153c9673714836b82156f9607cdca4f6a.tar.gz chromium_src-0cb30b2153c9673714836b82156f9607cdca4f6a.tar.bz2 |
Remove the ChromotingView unit-tests, which no longer make sense.
Unit-tests for the Session, ChromotingClient and related components should replace these tests.
BUG=57351
Review URL: http://codereview.chromium.org/9014013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116217 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r-- | remoting/client/chromoting_view_unittest.cc | 560 | ||||
-rw-r--r-- | remoting/remoting.gyp | 3 |
2 files changed, 1 insertions, 562 deletions
diff --git a/remoting/client/chromoting_view_unittest.cc b/remoting/client/chromoting_view_unittest.cc deleted file mode 100644 index be1bf0b..0000000 --- a/remoting/client/chromoting_view_unittest.cc +++ /dev/null @@ -1,560 +0,0 @@ -// 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/memory/scoped_ptr.h" -#include "remoting/base/decoder.h" -#include "remoting/client/chromoting_view.h" -#include "remoting/proto/internal.pb.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -using ::testing::_; -using ::testing::InSequence; -using ::testing::Return; - -namespace remoting { - -class MockDecoder : public Decoder { - public: - MockDecoder() {} - - MOCK_METHOD4(BeginDecode, bool(scoped_refptr<media::VideoFrame> frame, - UpdatedRects* updated_rects, - Task* partial_decode_done, - Task* decode_done)); - MOCK_METHOD1(PartialDecode, bool(ChromotingHostMessage* message)); - MOCK_METHOD0(EndDecode, void()); - - MOCK_METHOD0(Encoding, VideoPacketFormat::Encoding()); - MOCK_METHOD0(IsStarted, bool()); - - private: - DISALLOW_COPY_AND_ASSIGN(MockDecoder); -}; - -// Fake ChromotingView that provides stub implementations for all pure virtual -// methods. This is sufficient since we're only interested in testing the -// base class methods in this file. -class FakeView : public ChromotingView { - bool Initialize() { return false; } - void TearDown() {} - void Paint() {} - void SetSolidFill(uint32 color) {} - void UnsetSolidFill() {} - void SetConnectionState(ConnectionState s) {} - void SetViewport(int x, int y, int width, int height) { - frame_width_ = width; - frame_height_ = height; - } - void SetHostScreenSize(int width, int height) {} - void HandleBeginUpdateStream(ChromotingHostMessage* msg) {} - void HandleUpdateStreamPacket(ChromotingHostMessage* msg) {} - void HandleEndUpdateStream(ChromotingHostMessage* msg) {} - - public: - // Testing accessors. - // These provide access to private/protected members of ChromotingView so - // that they can be tested/verified. - Decoder* get_decoder() { - return decoder_.get(); - } - void set_decoder(Decoder* decoder) { - decoder_.reset(decoder); - } - - // Testing wrappers for private setup/startup decoder routines. - bool setup_decoder(VideoPacketFormat::Encoding encoding) { - return SetupDecoder(encoding); - } - bool begin_decoding(Task* partial_decode_done, Task* decode_done) { - return BeginDecoding(partial_decode_done, decode_done); - } - bool decode(ChromotingHostMessage* msg) { - return Decode(msg); - } - bool end_decoding() { - return EndDecoding(); - } - - // Testing setup. - void set_test_viewport() { - SetViewport(0, 0, 640, 480); - } -}; - -// Verify the initial state. -TEST(ChromotingViewTest, InitialState) { - scoped_ptr<FakeView> view(new FakeView()); - EXPECT_TRUE(view->get_decoder() == NULL); -} - -// Test a simple decoder sequence: -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: -// SetupDecoder - return false -// BeginDecoding -// Decode -// HandleEndUpdateStream: -// EndDecoding -TEST(ChromotingViewTest, DecodeSimple) { - scoped_ptr<FakeView> view(new FakeView()); - view->set_test_viewport(); - - // HandleBeginUpdateStream - - // HandleUpdateStreamPacket - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - Decoder* decoder = view->get_decoder(); - ASSERT_TRUE(decoder != NULL); - EXPECT_EQ(EncodingZlib, decoder->Encoding()); - EXPECT_FALSE(decoder->IsStarted()); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder = new MockDecoder(); - view->set_decoder(mock_decoder); - EXPECT_CALL(*mock_decoder, Encoding()) - .WillRepeatedly(Return(EncodingZlib)); - { - InSequence s; - - // BeginDecoding - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)); - EXPECT_CALL(*mock_decoder, BeginDecode(_, _, _, _)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(true)); - - // Decode - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder, PartialDecode(_)) - .WillOnce(Return(true)); - - // EndDecoding - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder, EndDecode()) - .Times(1); - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)); - } - - // decoder_->IsStarted() is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleEndUpdateStream - - ASSERT_TRUE(view->end_decoding()); -} - -// Test a three-packet decoder sequence: -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: (1) -// SetupDecoder - return false -// BeginDecoding -// Decode -// HandleUpdateStreamPacket: (2) -// SetupDecoder - return true -// Decode -// HandleUpdateStreamPacket: (3) -// SetupDecoder - return true -// Decode -// HandleEndUpdateStream: -// EndDecoding -TEST(ChromotingViewTest, DecodeThreePackets) { - scoped_ptr<FakeView> view(new FakeView()); - view->set_test_viewport(); - - // HandleBeginUpdateStream - - // HandleUpdateStreamPacket (1) - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - Decoder* decoder = view->get_decoder(); - ASSERT_TRUE(decoder != NULL); - EXPECT_EQ(EncodingZlib, decoder->Encoding()); - EXPECT_FALSE(decoder->IsStarted()); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder = new MockDecoder(); - view->set_decoder(mock_decoder); - EXPECT_CALL(*mock_decoder, Encoding()) - .WillRepeatedly(Return(EncodingZlib)); - EXPECT_CALL(*mock_decoder, BeginDecode(_, _, _, _)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder, PartialDecode(_)) - .Times(3) - .WillRepeatedly(Return(true)); - EXPECT_CALL(*mock_decoder, EndDecode()) - .Times(1); - { - InSequence s; - - // BeginDecoding - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - // BeginDecoding (1) - // Decode (1) - // SetupDecoder (1) - // Decode (1) - // SetupDecoder (1) - // Decode (1) - // EndDecoding (1) - // Total = 7 calls - EXPECT_CALL(*mock_decoder, IsStarted()) - .Times(7) - .WillRepeatedly(Return(true)) - .RetiresOnSaturation(); - // EndDecoding - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - } - - // decoder_->IsStarted() is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleUpdateStreamPacket (2) - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - // Don't call BeginDecoding() because it is already started. - ASSERT_TRUE(view->decode(NULL)); - - // HandleUpdateStreamPacket (3) - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - // Don't call BeginDecoding() because it is already started. - ASSERT_TRUE(view->decode(NULL)); - - // HandleEndUpdateStream - - ASSERT_TRUE(view->end_decoding()); -} - -// Test two update streams: (same packet encoding) -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: -// SetupDecoder - return false -// BeginDecoding -// Decode -// HandleEndUpdateStream: -// EndDecoding -// -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: -// SetupDecoder - return false -// BeginDecoding -// Decode -// HandleEndUpdateStream: -// EndDecoding -TEST(ChromotingViewTest, DecodeTwoStreams) { - scoped_ptr<FakeView> view(new FakeView()); - view->set_test_viewport(); - - // HandleBeginUpdateStream (update stream 1) - - // HandleUpdateStreamPacket - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - Decoder* decoder = view->get_decoder(); - ASSERT_TRUE(decoder != NULL); - EXPECT_EQ(EncodingZlib, decoder->Encoding()); - EXPECT_FALSE(decoder->IsStarted()); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder = new MockDecoder(); - view->set_decoder(mock_decoder); - EXPECT_CALL(*mock_decoder, Encoding()) - .WillRepeatedly(Return(EncodingZlib)); - EXPECT_CALL(*mock_decoder, BeginDecode(_, _, _, _)) - .Times(2) - .WillRepeatedly(Return(true)); - EXPECT_CALL(*mock_decoder, PartialDecode(_)) - .Times(2) - .WillRepeatedly(Return(true)); - EXPECT_CALL(*mock_decoder, EndDecode()) - .Times(2); - { - InSequence s; - // BeginDecoding - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - // BeginDecoding (1) - // Decode (1) - // EndDecoding (1) - // Total = 3 calls - EXPECT_CALL(*mock_decoder, IsStarted()) - .Times(3) - .WillRepeatedly(Return(true)) - .RetiresOnSaturation(); - // EndDecoding (1) - // SetupDecoder (1) - // BeginDecoding (1) - // Total = 3 calls - EXPECT_CALL(*mock_decoder, IsStarted()) - .Times(3) - .WillRepeatedly(Return(false)) - .RetiresOnSaturation(); - // BeginDecoding (1) - // Decode (1) - // EndDecoding (1) - // Total = 3 calls - EXPECT_CALL(*mock_decoder, IsStarted()) - .Times(3) - .WillRepeatedly(Return(true)) - .RetiresOnSaturation(); - // EndDecoding - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - } - - // |started| is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleEndUpdateStream - - ASSERT_TRUE(view->end_decoding()); - - // HandleBeginUpdateStream (update stream 2) - - // HandleUpdateStreamPacket - - Decoder* old_decoder = view->get_decoder(); - view->setup_decoder(EncodingZlib); - // Verify we're using the same decoder since the encoding matches. - Decoder* new_decoder = view->get_decoder(); - ASSERT_TRUE(new_decoder == old_decoder); - - // |started| is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleEndUpdateStream - - ASSERT_TRUE(view->end_decoding()); -} - -// Test two update streams with different encodings: -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: ('Zlib' encoded) -// SetupDecoder -// BeginDecoding -// Decode -// HandleEndUpdateStream: -// EndDecoding -// -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: ('None' encoded) -// SetupDecoder -// BeginDecoding -// Decode -// HandleEndUpdateStream: -// EndDecoding -TEST(ChromotingViewTest, DecodeTwoStreamsDifferentEncodings) { - scoped_ptr<FakeView> view(new FakeView()); - view->set_test_viewport(); - - // HandleBeginUpdateStream (update stream 1) - - // HandleUpdateStreamPacket - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - Decoder* decoder = view->get_decoder(); - ASSERT_TRUE(decoder != NULL); - EXPECT_EQ(EncodingZlib, decoder->Encoding()); - EXPECT_FALSE(decoder->IsStarted()); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder1 = new MockDecoder(); - view->set_decoder(mock_decoder1); - EXPECT_CALL(*mock_decoder1, Encoding()) - .WillRepeatedly(Return(EncodingZlib)); - EXPECT_CALL(*mock_decoder1, BeginDecode(_, _, _, _)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder1, PartialDecode(_)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder1, EndDecode()); - { - InSequence s1; - // BeginDecoding - EXPECT_CALL(*mock_decoder1, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - // BeginDecoding (1) - // Decode (1) - // EndDecoding (1) - // Total = 3 calls - EXPECT_CALL(*mock_decoder1, IsStarted()) - .Times(3) - .WillRepeatedly(Return(true)) - .RetiresOnSaturation(); - // EndDecoding (1) - // SetupDecoder (1) - // Total = 2 calls - EXPECT_CALL(*mock_decoder1, IsStarted()) - .Times(2) - .WillRepeatedly(Return(false)) - .RetiresOnSaturation(); - } - - // |started| is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleEndUpdateStream - - ASSERT_TRUE(view->end_decoding()); - - // HandleBeginUpdateStream (update stream 2) - - // HandleUpdateStreamPacket - - // Encoding for second stream is different from first, so this will - // create a new decoder. - ASSERT_TRUE(view->setup_decoder(EncodingNone)); - // The decoder should be new. - EXPECT_NE(mock_decoder1, view->get_decoder()); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder2 = new MockDecoder(); - view->set_decoder(mock_decoder2); - EXPECT_CALL(*mock_decoder2, Encoding()) - .WillRepeatedly(Return(EncodingNone)); - EXPECT_CALL(*mock_decoder2, BeginDecode(_, _, _, _)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder2, PartialDecode(_)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder2, EndDecode()); - { - InSequence s2; - // BeginDecoding - EXPECT_CALL(*mock_decoder2, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - // BeginDecoding (1) - // Decode (1) - // EndDecoding (1) - // Total = 3 calls - EXPECT_CALL(*mock_decoder2, IsStarted()) - .Times(3) - .WillRepeatedly(Return(true)) - .RetiresOnSaturation(); - // EndDecoding - EXPECT_CALL(*mock_decoder2, IsStarted()) - .WillOnce(Return(false)) - .RetiresOnSaturation(); - } - - // |started| is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleEndUpdateStream - - ASSERT_TRUE(view->end_decoding()); -} - -// Test failure when packets in a stream have mismatched encodings. -// HandleBeginUpdateStream: -// HandleUpdateStreamPacket: (1) -// SetupDecoder - encoding = Zlib -// BeginDecoding -// Decode -// HandleUpdateStreamPacket: (2) -// SetupDecoder - encoding = none -// DEATH -TEST(ChromotingViewTest, MismatchedEncodings) { - scoped_ptr<FakeView> view(new FakeView()); - view->set_test_viewport(); - - // HandleBeginUpdateStream - - // HandleUpdateStreamPacket (1) - // encoding = Zlib - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - Decoder* decoder = view->get_decoder(); - ASSERT_TRUE(decoder != NULL); - EXPECT_EQ(EncodingZlib, decoder->Encoding()); - EXPECT_FALSE(decoder->IsStarted()); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder = new MockDecoder(); - view->set_decoder(mock_decoder); - EXPECT_CALL(*mock_decoder, Encoding()) - .WillRepeatedly(Return(EncodingZlib)); - { - InSequence s; - - // BeginDecoding(). - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)); - EXPECT_CALL(*mock_decoder, BeginDecode(_, _, _, _)) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(true)); - - // Decode(). - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(true)); - EXPECT_CALL(*mock_decoder, PartialDecode(_)) - .WillOnce(Return(true)); - - // SetupDecoder(). - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(true)); - } - - // |started| is false, so we call begin_decoding(). - ASSERT_TRUE(view->begin_decoding(NULL, NULL)); - - ASSERT_TRUE(view->decode(NULL)); - - // HandleUpdateStreamPacket (2) - // encoding = None - - // Doesn't match previous packet encoding, so returns failure. - ASSERT_FALSE(view->setup_decoder(EncodingNone)); -} - -// Verify we fail when Decode() is called without first calling -// BeginDecoding(). -TEST(ChromotingViewTest, MissingBegin) { - scoped_ptr<FakeView> view(new FakeView()); - view->set_test_viewport(); - - ASSERT_TRUE(view->setup_decoder(EncodingZlib)); - ASSERT_TRUE(view->get_decoder() != NULL); - - // Overwrite |decoder_| with MockDecoder. - MockDecoder* mock_decoder = new MockDecoder(); - view->set_decoder(mock_decoder); - EXPECT_CALL(*mock_decoder, IsStarted()) - .WillOnce(Return(false)); - - // Call decode() without calling begin_decoding(). - EXPECT_FALSE(view->decode(NULL)); -} - -// Test requesting a decoder for an invalid encoding. -TEST(ChromotingViewTest, InvalidEncoding) { - scoped_ptr<FakeView> view(new FakeView()); - EXPECT_FALSE(view->setup_decoder(EncodingInvalid)); -} - -} // namespace remoting diff --git a/remoting/remoting.gyp b/remoting/remoting.gyp index 5edadf1..727b268 100644 --- a/remoting/remoting.gyp +++ b/remoting/remoting.gyp @@ -1,4 +1,4 @@ -# Copyright (c) 2011 The Chromium Authors. All rights reserved. +# Copyright (c) 2012 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. @@ -906,7 +906,6 @@ 'base/encoder_row_based_unittest.cc', 'base/base_mock_objects.cc', 'base/base_mock_objects.h', -# BUG57351 'client/chromoting_view_unittest.cc', 'client/mouse_input_filter_unittest.cc', 'host/capturer_linux_unittest.cc', 'host/capturer_mac_unittest.cc', |