| 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" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 EXPECT_TRUE(description.config()->video_configs() == | 30 EXPECT_TRUE(description.config()->video_configs() == |
| 31 parsed->config()->video_configs()); | 31 parsed->config()->video_configs()); |
| 32 EXPECT_TRUE(description.config()->event_configs() == | 32 EXPECT_TRUE(description.config()->event_configs() == |
| 33 parsed->config()->event_configs()); | 33 parsed->config()->event_configs()); |
| 34 EXPECT_TRUE(description.config()->audio_configs() == | 34 EXPECT_TRUE(description.config()->audio_configs() == |
| 35 parsed->config()->audio_configs()); | 35 parsed->config()->audio_configs()); |
| 36 } | 36 } |
| 37 | 37 |
| 38 // Verify that we can still parse configs with transports that we don't | 38 // Verify that we can still parse configs with transports that we don't |
| 39 // recognize. | 39 // recognize. |
| 40 TEST(ContentDescription, ParseUnknown) { | 40 TEST(ContentDescriptionTest, ParseUnknown) { |
| 41 std::string kTestDescription = | 41 std::string kTestDescription = |
| 42 "<description xmlns=\"google:remoting\">" | 42 "<description xmlns=\"google:remoting\">" |
| 43 " <control transport=\"stream\" version=\"2\"/>" | 43 " <control transport=\"stream\" version=\"2\"/>" |
| 44 " <event transport=\"stream\" version=\"2\"/>" | 44 " <event transport=\"stream\" version=\"2\"/>" |
| 45 " <event transport=\"new_awesome_transport\" version=\"3\"/>" | 45 " <event transport=\"new_awesome_transport\" version=\"3\"/>" |
| 46 " <video transport=\"stream\" version=\"2\" codec=\"vp8\"/>" | 46 " <video transport=\"stream\" version=\"2\" codec=\"vp8\"/>" |
| 47 " <authentication/>" | 47 " <authentication/>" |
| 48 "</description>"; | 48 "</description>"; |
| 49 scoped_ptr<buzz::XmlElement> xml(buzz::XmlElement::ForStr(kTestDescription)); | 49 scoped_ptr<buzz::XmlElement> xml(buzz::XmlElement::ForStr(kTestDescription)); |
| 50 scoped_ptr<ContentDescription> parsed( | 50 scoped_ptr<ContentDescription> parsed( |
| 51 ContentDescription::ParseXml(xml.get())); | 51 ContentDescription::ParseXml(xml.get())); |
| 52 ASSERT_TRUE(parsed.get()); | 52 ASSERT_TRUE(parsed.get()); |
| 53 EXPECT_EQ(1U, parsed->config()->event_configs().size()); | 53 EXPECT_EQ(1U, parsed->config()->event_configs().size()); |
| 54 EXPECT_TRUE(parsed->config()->event_configs()[0] == | 54 EXPECT_TRUE(parsed->config()->event_configs()[0] == |
| 55 ChannelConfig(ChannelConfig::TRANSPORT_STREAM, | 55 ChannelConfig(ChannelConfig::TRANSPORT_STREAM, |
| 56 kDefaultStreamVersion, | 56 kDefaultStreamVersion, |
| 57 ChannelConfig::CODEC_UNDEFINED)); | 57 ChannelConfig::CODEC_UNDEFINED)); |
| 58 } | 58 } |
| 59 | 59 |
| 60 // Verify that we can parse configs with none transport without version and |
| 61 // codec. |
| 62 TEST(ContentDescriptionTest, NoneTransport) { |
| 63 std::string kTestDescription = |
| 64 "<description xmlns=\"google:remoting\">" |
| 65 " <control transport=\"stream\" version=\"2\"/>" |
| 66 " <event transport=\"stream\" version=\"2\"/>" |
| 67 " <event transport=\"stream\" version=\"2\"/>" |
| 68 " <video transport=\"stream\" version=\"2\" codec=\"vp8\"/>" |
| 69 " <audio transport=\"none\"/>" |
| 70 " <authentication/>" |
| 71 "</description>"; |
| 72 scoped_ptr<buzz::XmlElement> xml(buzz::XmlElement::ForStr(kTestDescription)); |
| 73 scoped_ptr<ContentDescription> parsed( |
| 74 ContentDescription::ParseXml(xml.get())); |
| 75 ASSERT_TRUE(parsed.get()); |
| 76 EXPECT_EQ(1U, parsed->config()->audio_configs().size()); |
| 77 EXPECT_TRUE(parsed->config()->audio_configs()[0] == ChannelConfig()); |
| 78 } |
| 79 |
| 80 // Verify that we can parse configs with none transport with version and |
| 81 // codec. |
| 82 TEST(ContentDescriptionTest, NoneTransportWithCodec) { |
| 83 std::string kTestDescription = |
| 84 "<description xmlns=\"google:remoting\">" |
| 85 " <control transport=\"stream\" version=\"2\"/>" |
| 86 " <event transport=\"stream\" version=\"2\"/>" |
| 87 " <event transport=\"stream\" version=\"2\"/>" |
| 88 " <video transport=\"stream\" version=\"2\" codec=\"vp8\"/>" |
| 89 " <audio transport=\"none\" version=\"2\" codec=\"verbatim\"/>" |
| 90 " <authentication/>" |
| 91 "</description>"; |
| 92 scoped_ptr<buzz::XmlElement> xml(buzz::XmlElement::ForStr(kTestDescription)); |
| 93 scoped_ptr<ContentDescription> parsed( |
| 94 ContentDescription::ParseXml(xml.get())); |
| 95 ASSERT_TRUE(parsed.get()); |
| 96 EXPECT_EQ(1U, parsed->config()->audio_configs().size()); |
| 97 EXPECT_TRUE(parsed->config()->audio_configs()[0] == ChannelConfig()); |
| 98 } |
| 99 |
| 60 } // namespace protocol | 100 } // namespace protocol |
| 61 } // namespace remoting | 101 } // namespace remoting |
| 62 | 102 |
| OLD | NEW |