aboutsummaryrefslogtreecommitdiff
path: root/cast/streaming/answer_messages_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cast/streaming/answer_messages_unittest.cc')
-rw-r--r--cast/streaming/answer_messages_unittest.cc125
1 files changed, 45 insertions, 80 deletions
diff --git a/cast/streaming/answer_messages_unittest.cc b/cast/streaming/answer_messages_unittest.cc
index e4ec82f4..3d618828 100644
--- a/cast/streaming/answer_messages_unittest.cc
+++ b/cast/streaming/answer_messages_unittest.cc
@@ -37,7 +37,7 @@ constexpr char kValidAnswerJson[] = R"({
},
"video": {
"maxPixelsPerSecond": 62208000,
- "minDimensions": {
+ "minResolution": {
"width": 320,
"height": 180,
"frameRate": 0
@@ -63,7 +63,6 @@ constexpr char kValidAnswerJson[] = R"({
},
"receiverRtcpEventLog": [0, 1],
"receiverRtcpDscp": [234, 567],
- "receiverGetStatus": true,
"rtpExtensions": ["adaptive_playout_delay"]
})";
@@ -81,34 +80,22 @@ const Answer kValidAnswer{
}, // audio
VideoConstraints{
40000.0, // max_pixels_per_second
- absl::optional<Dimensions>(Dimensions{
- 320, // width
- 480, // height
- SimpleFraction{15000, 101} // frame_rate
- }), // min_dimensions
- Dimensions{
- 1920, // width
- 1080, // height
- SimpleFraction{288, 2} // frame_rate
- },
+ absl::optional<Dimensions>(
+ Dimensions{320, 480, SimpleFraction{15000, 101}}),
+ Dimensions{1920, 1080, SimpleFraction{288, 2}},
300000, // min_bit_rate
144000000, // max_bit_rate
milliseconds(3000) // max_delay
} // video
}), // constraints
absl::optional<DisplayDescription>(DisplayDescription{
- absl::optional<Dimensions>(Dimensions{
- 640, // width
- 480, // height
- SimpleFraction{30, 1} // frame_rate
- }),
+ absl::optional<Dimensions>(Dimensions{640, 480, SimpleFraction{30, 1}}),
absl::optional<AspectRatio>(AspectRatio{16, 9}), // aspect_ratio
absl::optional<AspectRatioConstraint>(
AspectRatioConstraint::kFixed), // scaling
}),
std::vector<int>{7, 8, 9}, // receiver_rtcp_event_log
std::vector<int>{11, 12, 13}, // receiver_rtcp_dscp
- true, // receiver_get_status
std::vector<std::string>{"foo", "bar"} // rtp_extensions
};
@@ -137,10 +124,10 @@ void ExpectEqualsValidAnswerJson(const Answer& answer) {
const VideoConstraints& video = answer.constraints->video;
EXPECT_EQ(62208000, video.max_pixels_per_second);
- ASSERT_TRUE(video.min_dimensions.has_value());
- EXPECT_EQ(320, video.min_dimensions->width);
- EXPECT_EQ(180, video.min_dimensions->height);
- EXPECT_EQ((SimpleFraction{0, 1}), video.min_dimensions->frame_rate);
+ ASSERT_TRUE(video.min_resolution.has_value());
+ EXPECT_EQ(320, video.min_resolution->width);
+ EXPECT_EQ(180, video.min_resolution->height);
+ EXPECT_EQ((SimpleFraction{0, 1}), video.min_resolution->frame_rate);
EXPECT_EQ(1920, video.max_dimensions.width);
EXPECT_EQ(1080, video.max_dimensions.height);
EXPECT_EQ((SimpleFraction{60, 1}), video.max_dimensions.frame_rate);
@@ -160,7 +147,6 @@ void ExpectEqualsValidAnswerJson(const Answer& answer) {
EXPECT_THAT(answer.receiver_rtcp_event_log, ElementsAre(0, 1));
EXPECT_THAT(answer.receiver_rtcp_dscp, ElementsAre(234, 567));
- EXPECT_TRUE(answer.supports_wifi_status_reporting);
EXPECT_THAT(answer.rtp_extensions, ElementsAre("adaptive_playout_delay"));
}
@@ -170,7 +156,7 @@ void ExpectFailureOnParse(absl::string_view raw_json) {
ASSERT_TRUE(root.is_value());
Answer answer;
- EXPECT_FALSE(Answer::ParseAndValidate(std::move(root.value()), &answer));
+ EXPECT_FALSE(Answer::TryParse(std::move(root.value()), &answer));
EXPECT_FALSE(answer.IsValid());
}
@@ -182,7 +168,7 @@ void ExpectSuccessOnParse(absl::string_view raw_json, Answer* out = nullptr) {
ASSERT_TRUE(root.is_value());
Answer answer;
- ASSERT_TRUE(Answer::ParseAndValidate(std::move(root.value()), &answer));
+ ASSERT_TRUE(Answer::TryParse(std::move(root.value()), &answer));
EXPECT_TRUE(answer.IsValid());
if (out) {
*out = std::move(answer);
@@ -223,11 +209,11 @@ TEST(AnswerMessagesTest, ProperlyPopulatedAnswerSerializesProperly) {
EXPECT_EQ(video["maxBitRate"], 144000000);
EXPECT_EQ(video["maxDelay"], 3000);
- Json::Value min_dimensions = std::move(video["minDimensions"]);
- EXPECT_EQ(min_dimensions.type(), Json::ValueType::objectValue);
- EXPECT_EQ(min_dimensions["width"], 320);
- EXPECT_EQ(min_dimensions["height"], 480);
- EXPECT_EQ(min_dimensions["frameRate"], "15000/101");
+ Json::Value min_resolution = std::move(video["minResolution"]);
+ EXPECT_EQ(min_resolution.type(), Json::ValueType::objectValue);
+ EXPECT_EQ(min_resolution["width"], 320);
+ EXPECT_EQ(min_resolution["height"], 480);
+ EXPECT_EQ(min_resolution["frameRate"], "15000/101");
Json::Value max_dimensions = std::move(video["maxDimensions"]);
EXPECT_EQ(max_dimensions.type(), Json::ValueType::objectValue);
@@ -258,8 +244,6 @@ TEST(AnswerMessagesTest, ProperlyPopulatedAnswerSerializesProperly) {
EXPECT_EQ(receiver_rtcp_dscp[1], 12);
EXPECT_EQ(receiver_rtcp_dscp[2], 13);
- EXPECT_EQ(root["receiverGetStatus"], true);
-
Json::Value rtp_extensions = std::move(root["rtpExtensions"]);
EXPECT_EQ(rtp_extensions.type(), Json::ValueType::arrayValue);
EXPECT_EQ(rtp_extensions[0], "foo");
@@ -330,8 +314,7 @@ TEST(AnswerMessagesTest, SucceedsWithMissingRtpFields) {
ExpectSuccessOnParse(R"({
"udpPort": 1234,
"sendIndexes": [1, 3],
- "ssrcs": [1233324, 2234222],
- "receiverGetStatus": true
+ "ssrcs": [1233324, 2234222]
})");
}
@@ -342,37 +325,22 @@ TEST(AnswerMessagesTest, ErrorOnEmptyAnswer) {
TEST(AnswerMessagesTest, ErrorOnMissingUdpPort) {
ExpectFailureOnParse(R"({
"sendIndexes": [1, 3],
- "ssrcs": [1233324, 2234222],
- "receiverGetStatus": true
+ "ssrcs": [1233324, 2234222]
})");
}
TEST(AnswerMessagesTest, ErrorOnMissingSsrcs) {
ExpectFailureOnParse(R"({
"udpPort": 1234,
- "sendIndexes": [1, 3],
- "receiverGetStatus": true
+ "sendIndexes": [1, 3]
})");
}
TEST(AnswerMessagesTest, ErrorOnMissingSendIndexes) {
ExpectFailureOnParse(R"({
"udpPort": 1234,
- "ssrcs": [1233324, 2234222],
- "receiverGetStatus": true
- })");
-}
-
-TEST(AnswerMessagesTest, AssumesNoReportingIfGetStatusFalse) {
- Answer answer;
- ExpectSuccessOnParse(R"({
- "udpPort": 1234,
- "sendIndexes": [1, 3],
"ssrcs": [1233324, 2234222]
- })",
- &answer);
-
- EXPECT_FALSE(answer.supports_wifi_status_reporting);
+ })");
}
TEST(AnswerMessagesTest, AllowsReceiverSideScaling) {
@@ -420,8 +388,7 @@ TEST(AnswerMessagesTest, AssumesMinBitRateIfOmitted) {
"maxBitRate": 10000000,
"maxDelay": 5000
}
- },
- "receiverGetStatus": true
+ }
})",
&answer);
@@ -476,8 +443,8 @@ TEST(AnswerMessagesTest, VideoConstraintsIsValid) {
VideoConstraints invalid_max_pixels_per_second = kValidVideoConstraints;
invalid_max_pixels_per_second.max_pixels_per_second = 0;
- VideoConstraints invalid_min_dimensions = kValidVideoConstraints;
- invalid_min_dimensions.min_dimensions->width = 0;
+ VideoConstraints invalid_min_resolution = kValidVideoConstraints;
+ invalid_min_resolution.min_resolution->width = 0;
VideoConstraints invalid_max_dimensions = kValidVideoConstraints;
invalid_max_dimensions.max_dimensions.height = 0;
@@ -493,7 +460,7 @@ TEST(AnswerMessagesTest, VideoConstraintsIsValid) {
EXPECT_TRUE(kValidVideoConstraints.IsValid());
EXPECT_FALSE(invalid_max_pixels_per_second.IsValid());
- EXPECT_FALSE(invalid_min_dimensions.IsValid());
+ EXPECT_FALSE(invalid_min_resolution.IsValid());
EXPECT_FALSE(invalid_max_dimensions.IsValid());
EXPECT_FALSE(invalid_min_bit_rate.IsValid());
EXPECT_FALSE(invalid_max_bit_rate.IsValid());
@@ -528,7 +495,7 @@ TEST(AnswerMessagesTest, AspectRatioIsValid) {
EXPECT_FALSE(kInvalidHeight.IsValid());
}
-TEST(AnswerMessagesTest, AspectRatioParseAndValidate) {
+TEST(AnswerMessagesTest, AspectRatioTryParse) {
const Json::Value kValid = "16:9";
const Json::Value kWrongDelimiter = "16-9";
const Json::Value kTooManyFields = "16:9:3";
@@ -543,24 +510,24 @@ TEST(AnswerMessagesTest, AspectRatioParseAndValidate) {
const Json::Value kZeroHeight = "16:0";
AspectRatio out;
- EXPECT_TRUE(AspectRatio::ParseAndValidate(kValid, &out));
+ EXPECT_TRUE(AspectRatio::TryParse(kValid, &out));
EXPECT_EQ(out.width, 16);
EXPECT_EQ(out.height, 9);
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kWrongDelimiter, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kTooManyFields, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kTooFewFields, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kWrongDelimiter, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kNoDelimiter, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kNegativeWidth, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kNegativeHeight, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kNegativeBoth, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kNonNumberWidth, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kNonNumberHeight, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kZeroWidth, &out));
- EXPECT_FALSE(AspectRatio::ParseAndValidate(kZeroHeight, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kWrongDelimiter, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kTooManyFields, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kTooFewFields, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kWrongDelimiter, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kNoDelimiter, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kNegativeWidth, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kNegativeHeight, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kNegativeBoth, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kNonNumberWidth, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kNonNumberHeight, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kZeroWidth, &out));
+ EXPECT_FALSE(AspectRatio::TryParse(kZeroHeight, &out));
}
-TEST(AnswerMessagesTest, DisplayDescriptionParseAndValidate) {
+TEST(AnswerMessagesTest, DisplayDescriptionTryParse) {
Json::Value valid_scaling;
valid_scaling["scaling"] = "receiver";
Json::Value invalid_scaling;
@@ -586,25 +553,23 @@ TEST(AnswerMessagesTest, DisplayDescriptionParseAndValidate) {
aspect_ratio_and_constraint["aspectRatio"] = "4:3";
DisplayDescription out;
- ASSERT_TRUE(DisplayDescription::ParseAndValidate(valid_scaling, &out));
+ ASSERT_TRUE(DisplayDescription::TryParse(valid_scaling, &out));
ASSERT_TRUE(out.aspect_ratio_constraint.has_value());
EXPECT_EQ(out.aspect_ratio_constraint.value(),
AspectRatioConstraint::kVariable);
- EXPECT_FALSE(DisplayDescription::ParseAndValidate(invalid_scaling, &out));
- EXPECT_TRUE(
- DisplayDescription::ParseAndValidate(invalid_scaling_valid_ratio, &out));
+ EXPECT_FALSE(DisplayDescription::TryParse(invalid_scaling, &out));
+ EXPECT_TRUE(DisplayDescription::TryParse(invalid_scaling_valid_ratio, &out));
- ASSERT_TRUE(DisplayDescription::ParseAndValidate(valid_dimensions, &out));
+ ASSERT_TRUE(DisplayDescription::TryParse(valid_dimensions, &out));
ASSERT_TRUE(out.dimensions.has_value());
EXPECT_EQ(1920, out.dimensions->width);
EXPECT_EQ(1080, out.dimensions->height);
EXPECT_EQ((SimpleFraction{30, 1}), out.dimensions->frame_rate);
- EXPECT_FALSE(DisplayDescription::ParseAndValidate(invalid_dimensions, &out));
+ EXPECT_FALSE(DisplayDescription::TryParse(invalid_dimensions, &out));
- ASSERT_TRUE(
- DisplayDescription::ParseAndValidate(aspect_ratio_and_constraint, &out));
+ ASSERT_TRUE(DisplayDescription::TryParse(aspect_ratio_and_constraint, &out));
EXPECT_EQ(AspectRatioConstraint::kFixed, out.aspect_ratio_constraint.value());
}