OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/api/cast_channel/cast_framer.h" | 5 #include "components/cast_channel/cast_framer.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "extensions/common/api/cast_channel/cast_channel.pb.h" | 12 #include "components/cast_channel/proto/cast_channel.pb.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
14 | 14 |
15 namespace extensions { | |
16 namespace api { | |
17 namespace cast_channel { | 15 namespace cast_channel { |
18 | 16 |
19 using ::cast_channel::ChannelError; | 17 using ::cast_channel::ChannelError; |
20 | 18 |
21 class CastFramerTest : public testing::Test { | 19 class CastFramerTest : public testing::Test { |
22 public: | 20 public: |
23 CastFramerTest() {} | 21 CastFramerTest() {} |
24 ~CastFramerTest() override {} | 22 ~CastFramerTest() override {} |
25 | 23 |
26 void SetUp() override { | 24 void SetUp() override { |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 EXPECT_EQ(0u, framer_->BytesRequested()); | 106 EXPECT_EQ(0u, framer_->BytesRequested()); |
109 EXPECT_EQ(nullptr, framer_->Ingest(4, &bytes_ingested, &error).get()); | 107 EXPECT_EQ(nullptr, framer_->Ingest(4, &bytes_ingested, &error).get()); |
110 EXPECT_EQ(ChannelError::INVALID_MESSAGE, error); | 108 EXPECT_EQ(ChannelError::INVALID_MESSAGE, error); |
111 EXPECT_EQ(0u, framer_->BytesRequested()); | 109 EXPECT_EQ(0u, framer_->BytesRequested()); |
112 } | 110 } |
113 | 111 |
114 TEST_F(CastFramerTest, TestUnparsableBodyProto) { | 112 TEST_F(CastFramerTest, TestUnparsableBodyProto) { |
115 // Message header is OK, but the body is replaced with "x"en. | 113 // Message header is OK, but the body is replaced with "x"en. |
116 std::string mangled_cast_message = cast_message_str_; | 114 std::string mangled_cast_message = cast_message_str_; |
117 for (size_t i = MessageFramer::MessageHeader::header_size(); | 115 for (size_t i = MessageFramer::MessageHeader::header_size(); |
118 i < mangled_cast_message.size(); | 116 i < mangled_cast_message.size(); ++i) { |
119 ++i) { | |
120 std::fill(mangled_cast_message.begin() + | 117 std::fill(mangled_cast_message.begin() + |
121 MessageFramer::MessageHeader::header_size(), | 118 MessageFramer::MessageHeader::header_size(), |
122 mangled_cast_message.end(), | 119 mangled_cast_message.end(), 'x'); |
123 'x'); | |
124 } | 120 } |
125 WriteToBuffer(mangled_cast_message); | 121 WriteToBuffer(mangled_cast_message); |
126 | 122 |
127 // Send header. | 123 // Send header. |
128 size_t message_length; | 124 size_t message_length; |
129 ChannelError error; | 125 ChannelError error; |
130 EXPECT_EQ(4u, framer_->BytesRequested()); | 126 EXPECT_EQ(4u, framer_->BytesRequested()); |
131 EXPECT_EQ(nullptr, framer_->Ingest(4, &message_length, &error).get()); | 127 EXPECT_EQ(nullptr, framer_->Ingest(4, &message_length, &error).get()); |
132 EXPECT_EQ(ChannelError::NONE, error); | 128 EXPECT_EQ(ChannelError::NONE, error); |
133 EXPECT_EQ(cast_message_str_.size() - 4, framer_->BytesRequested()); | 129 EXPECT_EQ(cast_message_str_.size() - 4, framer_->BytesRequested()); |
134 | 130 |
135 // Send body, expect an error. | 131 // Send body, expect an error. |
136 std::unique_ptr<CastMessage> message; | 132 std::unique_ptr<CastMessage> message; |
137 EXPECT_EQ(nullptr, framer_->Ingest(framer_->BytesRequested(), &message_length, | 133 EXPECT_EQ(nullptr, |
138 &error).get()); | 134 framer_->Ingest(framer_->BytesRequested(), &message_length, &error) |
| 135 .get()); |
139 EXPECT_EQ(ChannelError::INVALID_MESSAGE, error); | 136 EXPECT_EQ(ChannelError::INVALID_MESSAGE, error); |
140 } | 137 } |
141 } // namespace cast_channel | 138 } // namespace cast_channel |
142 } // namespace api | |
143 } // namespace extensions | |
OLD | NEW |