chromium/third_party/openscreen/src/cast/streaming/impl/offer_messages_unittest.cc

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "cast/streaming/public/offer_messages.h"

#include <limits>
#include <optional>
#include <string_view>
#include <utility>

#include "cast/streaming/impl/rtp_defines.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "util/json/json_serialization.h"

ElementsAre;

namespace openscreen::cast {

namespace {

constexpr char kValidOffer[] =;

void ExpectFailureOnParse(std::string_view body,
                          std::optional<Error::Code> expected = std::nullopt) {}

void ExpectEqualsValidOffer(const Offer& offer) {}

}  // namespace

TEST(OfferTest, ErrorOnEmptyOffer) {}

TEST(OfferTest, ErrorOnMissingMandatoryFields) {}

TEST(OfferTest, CanParseValidButStreamlessOffer) {}

TEST(OfferTest, ErrorOnMissingAudioStreamMandatoryField) {}

TEST(OfferTest, CanParseValidButMinimalAudioOffer) {}

TEST(OfferTest, CanParseValidZeroBitRateAudioOffer) {}

TEST(OfferTest, ErrorOnInvalidRtpTimebase) {}

TEST(OfferTest, ErrorOnMissingVideoStreamMandatoryField) {}

TEST(OfferTest, ValidatesCodecParameterFormat) {}

TEST(OfferTest, CanParseValidButMinimalVideoOffer) {}

TEST(OfferTest, CanParseValidOffer) {}

TEST(OfferTest, ParseAndToJsonResultsInSameOffer) {}

// We don't want to enforce that a given offer must have both audio and
// video, so we don't assert on either.
TEST(OfferTest, IsValidWithMissingStreams) {}

TEST(OfferTest, InvalidIfInvalidStreams) {}

TEST(OfferTest, FailsIfUnencrypted) {}

}  // namespace openscreen::cast