OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "media/base/video_frame.h" | 5 #include "media/base/video_frame.h" |
6 #include "remoting/client/decoder_verbatim.h" | 6 #include "remoting/client/decoder_verbatim.h" |
7 #include "remoting/client/mock_objects.h" | 7 #include "remoting/client/mock_objects.h" |
8 #include "testing/gmock/include/gmock/gmock.h" | 8 #include "testing/gmock/include/gmock/gmock.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
11 using ::testing::InSequence; | 11 using ::testing::InSequence; |
12 | 12 |
13 namespace remoting { | 13 namespace remoting { |
14 | 14 |
15 TEST(DecoderVerbatimTest, SimpleDecode) { | 15 TEST(DecoderVerbatimTest, SimpleDecode) { |
16 DecoderVerbatim decoder; | 16 DecoderVerbatim decoder; |
17 scoped_refptr<MockDecodeDoneHandler> handler = new MockDecodeDoneHandler(); | 17 scoped_refptr<MockDecodeDoneHandler> handler = new MockDecodeDoneHandler(); |
18 | 18 |
19 const size_t kWidth = 10; | 19 const size_t kWidth = 10; |
20 const size_t kHeight = 1; | 20 const size_t kHeight = 1; |
21 const char kData[] = "ABCDEFGHIJ"; | 21 const char kData[] = "ABCDEFGHIJ"; |
22 scoped_ptr<HostMessage> msg(new HostMessage()); | 22 scoped_ptr<HostMessage> msg(new HostMessage()); |
23 msg->mutable_update_stream_packet()->mutable_header()->set_width(kWidth); | 23 |
24 msg->mutable_update_stream_packet()->mutable_header()->set_height(kHeight); | 24 // Prepare the begin rect message. |
25 msg->mutable_update_stream_packet()->mutable_header()->set_x(0); | 25 UpdateStreamBeginRect* begin_rect = |
26 msg->mutable_update_stream_packet()->mutable_header()->set_y(0); | 26 msg->mutable_update_stream_packet()->mutable_begin_rect(); |
27 msg->mutable_update_stream_packet()->mutable_header()->set_pixel_format( | 27 begin_rect->set_width(kWidth); |
28 PixelFormatAscii); | 28 begin_rect->set_height(kHeight); |
29 msg->mutable_update_stream_packet()->set_data(kData, sizeof(kData)); | 29 begin_rect->set_x(0); |
| 30 begin_rect->set_y(0); |
| 31 begin_rect->set_pixel_format(PixelFormatAscii); |
| 32 |
| 33 // Prepare the rect data. |
| 34 msg->mutable_update_stream_packet()->mutable_rect_data()->set_data( |
| 35 kData, sizeof(kData)); |
| 36 |
| 37 // Prepare the end rect. |
| 38 msg->mutable_update_stream_packet()->mutable_end_rect(); |
30 | 39 |
31 scoped_refptr<media::VideoFrame> frame; | 40 scoped_refptr<media::VideoFrame> frame; |
32 media::VideoFrame::CreateFrame(media::VideoFrame::ASCII, kWidth, kHeight, | 41 media::VideoFrame::CreateFrame(media::VideoFrame::ASCII, kWidth, kHeight, |
33 base::TimeDelta(), base::TimeDelta(), &frame); | 42 base::TimeDelta(), base::TimeDelta(), &frame); |
34 ASSERT_TRUE(frame); | 43 ASSERT_TRUE(frame); |
35 | 44 |
36 InSequence s; | 45 InSequence s; |
37 EXPECT_CALL(*handler, PartialDecodeDone()); | 46 EXPECT_CALL(*handler, PartialDecodeDone()); |
38 EXPECT_CALL(*handler, DecodeDone()); | 47 EXPECT_CALL(*handler, DecodeDone()); |
39 | 48 |
(...skipping 14 matching lines...) Expand all Loading... |
54 // EXPECT_EQ(0, memcmp(kData, frame->data(media::VideoFrame::kRGBPlane), | 63 // EXPECT_EQ(0, memcmp(kData, frame->data(media::VideoFrame::kRGBPlane), |
55 // sizeof(kData))); | 64 // sizeof(kData))); |
56 | 65 |
57 // Check the updated rects. | 66 // Check the updated rects. |
58 ASSERT_TRUE(rects.size() == 1); | 67 ASSERT_TRUE(rects.size() == 1); |
59 EXPECT_EQ(kWidth, static_cast<size_t>(rects[0].width())); | 68 EXPECT_EQ(kWidth, static_cast<size_t>(rects[0].width())); |
60 EXPECT_EQ(kHeight, static_cast<size_t>(rects[0].height())); | 69 EXPECT_EQ(kHeight, static_cast<size_t>(rects[0].height())); |
61 } | 70 } |
62 | 71 |
63 } // namespace remoting | 72 } // namespace remoting |
OLD | NEW |