chromium/media/formats/hls/playlist_test_builder.h

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

#ifndef MEDIA_FORMATS_HLS_PLAYLIST_TEST_BUILDER_H_
#define MEDIA_FORMATS_HLS_PLAYLIST_TEST_BUILDER_H_

#include <type_traits>
#include <utility>
#include <vector>

#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/location.h"
#include "media/base/media_serializers_base.h"
#include "media/formats/hls/playlist.h"
#include "media/formats/hls/source_string.h"
#include "media/formats/hls/tags.h"
#include "media/formats/hls/types.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"

namespace media::hls {

// Base helper for building playlist test cases. This should be extended by a
// playlist-type specific builder with additional methods for creating
// assertions specific to that type of playlist, and parameterized by the type
// of playlist.
template <typename PlaylistT>
class PlaylistTestBuilder {};

// Checks the playlist's `AreSegmentsIndependent` property against the given
// value.
inline void HasIndependentSegments(bool value,
                                   const base::Location& from,
                                   const Playlist& playlist) {}

}  // namespace media::hls

#endif  // MEDIA_FORMATS_HLS_PLAYLIST_TEST_BUILDER_H_