OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "remoting/protocol/content_description.h" | 5 #include "remoting/protocol/content_description.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "remoting/protocol/authenticator.h" | 10 #include "remoting/protocol/authenticator.h" |
11 #include "testing/gmock/include/gmock/gmock.h" | 11 #include "testing/gmock/include/gmock/gmock.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" | 13 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" |
14 | 14 |
15 namespace remoting { | 15 namespace remoting { |
16 namespace protocol { | 16 namespace protocol { |
17 | 17 |
18 TEST(ContentDescriptionTest, FormatAndParse) { | 18 TEST(ContentDescriptionTest, FormatAndParse) { |
19 scoped_ptr<CandidateSessionConfig> config = | 19 scoped_ptr<CandidateSessionConfig> config = |
20 CandidateSessionConfig::CreateDefault(); | 20 CandidateSessionConfig::CreateDefault(); |
21 ContentDescription description( | 21 ContentDescription description( |
22 config.Pass(), Authenticator::CreateEmptyAuthenticatorMessage()); | 22 config.Pass(), Authenticator::CreateEmptyAuthenticatorMessage(), |
| 23 "TestQuicConfigMessage"); |
23 scoped_ptr<buzz::XmlElement> xml(description.ToXml()); | 24 scoped_ptr<buzz::XmlElement> xml(description.ToXml()); |
24 LOG(ERROR) << xml->Str(); | 25 LOG(ERROR) << xml->Str(); |
25 scoped_ptr<ContentDescription> parsed( | 26 scoped_ptr<ContentDescription> parsed( |
26 ContentDescription::ParseXml(xml.get())); | 27 ContentDescription::ParseXml(xml.get())); |
27 ASSERT_TRUE(parsed.get()); | 28 ASSERT_TRUE(parsed.get()); |
28 EXPECT_TRUE(description.config()->control_configs() == | 29 EXPECT_TRUE(description.config()->control_configs() == |
29 parsed->config()->control_configs()); | 30 parsed->config()->control_configs()); |
30 EXPECT_TRUE(description.config()->video_configs() == | 31 EXPECT_TRUE(description.config()->video_configs() == |
31 parsed->config()->video_configs()); | 32 parsed->config()->video_configs()); |
32 EXPECT_TRUE(description.config()->event_configs() == | 33 EXPECT_TRUE(description.config()->event_configs() == |
33 parsed->config()->event_configs()); | 34 parsed->config()->event_configs()); |
34 EXPECT_TRUE(description.config()->audio_configs() == | 35 EXPECT_TRUE(description.config()->audio_configs() == |
35 parsed->config()->audio_configs()); | 36 parsed->config()->audio_configs()); |
| 37 EXPECT_TRUE(description.quic_config_message() == |
| 38 parsed->quic_config_message()); |
36 } | 39 } |
37 | 40 |
38 // Verify that we can still parse configs with transports that we don't | 41 // Verify that we can still parse configs with transports that we don't |
39 // recognize. | 42 // recognize. |
40 TEST(ContentDescriptionTest, ParseUnknown) { | 43 TEST(ContentDescriptionTest, ParseUnknown) { |
41 std::string kTestDescription = | 44 std::string kTestDescription = |
42 "<description xmlns=\"google:remoting\">" | 45 "<description xmlns=\"google:remoting\">" |
43 " <control transport=\"stream\" version=\"2\"/>" | 46 " <control transport=\"stream\" version=\"2\"/>" |
44 " <event transport=\"stream\" version=\"2\"/>" | 47 " <event transport=\"stream\" version=\"2\"/>" |
45 " <event transport=\"new_awesome_transport\" version=\"3\"/>" | 48 " <event transport=\"new_awesome_transport\" version=\"3\"/>" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 scoped_ptr<ContentDescription> parsed( | 96 scoped_ptr<ContentDescription> parsed( |
94 ContentDescription::ParseXml(xml.get())); | 97 ContentDescription::ParseXml(xml.get())); |
95 ASSERT_TRUE(parsed.get()); | 98 ASSERT_TRUE(parsed.get()); |
96 EXPECT_EQ(1U, parsed->config()->audio_configs().size()); | 99 EXPECT_EQ(1U, parsed->config()->audio_configs().size()); |
97 EXPECT_TRUE(parsed->config()->audio_configs().front() == ChannelConfig()); | 100 EXPECT_TRUE(parsed->config()->audio_configs().front() == ChannelConfig()); |
98 } | 101 } |
99 | 102 |
100 } // namespace protocol | 103 } // namespace protocol |
101 } // namespace remoting | 104 } // namespace remoting |
102 | 105 |
OLD | NEW |