Fix FullScreen crash in Webapp
[platform/framework/web/chromium-efl.git] / media / remoting / device_capability_checker_unittest.cc
1 // Copyright 2022 The Chromium Authors
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 "media/remoting/device_capability_checker.h"
6
7 #include "media/base/audio_codecs.h"
8 #include "media/base/video_codecs.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace media::remoting {
12
13 namespace {
14 constexpr char cc_model_name[] = "Chromecast";
15 constexpr char cc_ultra_model_name[] = "Chromecast Ultra";
16 constexpr char cc_dongle_model_name[] = "Eureka Dongle";
17 }  // namespace
18
19 TEST(DeviceCapabilityCheckerTest, CheckDeviceCapability) {
20   EXPECT_TRUE(IsKnownToSupportRemoting(cc_model_name));
21   EXPECT_TRUE(IsKnownToSupportRemoting(cc_ultra_model_name));
22   EXPECT_TRUE(IsKnownToSupportRemoting(cc_dongle_model_name));
23   EXPECT_FALSE(IsKnownToSupportRemoting("Nest"));
24 }
25
26 TEST(DeviceCapabilityCheckerTest, CheckVideoCapability) {
27   EXPECT_FALSE(IsVideoCodecCompatible(cc_model_name, VideoCodec::kHEVC));
28   EXPECT_TRUE(IsVideoCodecCompatible(cc_ultra_model_name, VideoCodec::kHEVC));
29   EXPECT_TRUE(IsVideoCodecCompatible(cc_ultra_model_name, VideoCodec::kVP9));
30   EXPECT_TRUE(IsVideoCodecCompatible(cc_dongle_model_name, VideoCodec::kVP8));
31 }
32
33 TEST(DeviceCapabilityCheckerTest, CheckAudioCapability) {
34   EXPECT_FALSE(IsAudioCodecCompatible(cc_ultra_model_name, AudioCodec::kMP3));
35   EXPECT_TRUE(IsAudioCodecCompatible(cc_model_name, AudioCodec::kAAC));
36   EXPECT_TRUE(IsAudioCodecCompatible(cc_dongle_model_name, AudioCodec::kOpus));
37 }
38 }  // namespace media::remoting