Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Side by Side Diff: remoting/protocol/content_description_unittest.cc

Issue 10831022: Skip unknown channel configurations when parsing session config. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "remoting/protocol/content_description.h"
6
7 #include <string>
8
9 #include "base/logging.h"
10 #include "remoting/protocol/authenticator.h"
11 #include "testing/gmock/include/gmock/gmock.h"
12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h"
14
15 namespace remoting {
16 namespace protocol {
17
18 TEST(ContentDescriptionTest, FormatAndParse) {
19 scoped_ptr<CandidateSessionConfig> config =
20 CandidateSessionConfig::CreateDefault();
21 ContentDescription description(
22 config.Pass(), Authenticator::CreateEmptyAuthenticatorMessage());
23 scoped_ptr<buzz::XmlElement> xml(description.ToXml());
24 LOG(ERROR) << xml->Str();
25 scoped_ptr<ContentDescription> parsed(
26 ContentDescription::ParseXml(xml.get()));
27 ASSERT_TRUE(parsed.get());
28 EXPECT_TRUE(description.config()->control_configs() ==
29 parsed->config()->control_configs());
30 EXPECT_TRUE(description.config()->video_configs() ==
31 parsed->config()->video_configs());
32 EXPECT_TRUE(description.config()->event_configs() ==
33 parsed->config()->event_configs());
34 EXPECT_TRUE(description.config()->audio_configs() ==
35 parsed->config()->audio_configs());
36 }
37
38 // Verify that we can still parse configs with transports that we don't
39 // recognize.
40 TEST(ContentDescription, ParseUnknown) {
41 std::string kTestDescription =
42 "<description xmlns=\"google:remoting\">"
43 " <control transport=\"stream\" version=\"2\"/>"
44 " <event transport=\"stream\" version=\"2\"/>"
45 " <event transport=\"new_awesome_transport\" version=\"3\"/>"
46 " <video transport=\"stream\" version=\"2\" codec=\"vp8\"/>"
47 " <authentication/>"
48 "</description>";
49 scoped_ptr<buzz::XmlElement> xml(buzz::XmlElement::ForStr(kTestDescription));
50 scoped_ptr<ContentDescription> parsed(
51 ContentDescription::ParseXml(xml.get()));
52 ASSERT_TRUE(parsed.get());
53 EXPECT_EQ(1U, parsed->config()->event_configs().size());
54 EXPECT_TRUE(parsed->config()->event_configs()[0] ==
55 ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
56 kDefaultStreamVersion,
57 ChannelConfig::CODEC_UNDEFINED));
58 }
59
60 } // namespace protocol
61 } // namespace remoting
62
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698