diff options
Diffstat (limited to 'xbmc/utils/test/TestStreamDetails.cpp')
| -rw-r--r-- | xbmc/utils/test/TestStreamDetails.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/xbmc/utils/test/TestStreamDetails.cpp b/xbmc/utils/test/TestStreamDetails.cpp new file mode 100644 index 0000000..7842eee --- /dev/null +++ b/xbmc/utils/test/TestStreamDetails.cpp | |||
| @@ -0,0 +1,76 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2005-2018 Team Kodi | ||
| 3 | * This file is part of Kodi - https://kodi.tv | ||
| 4 | * | ||
| 5 | * SPDX-License-Identifier: GPL-2.0-or-later | ||
| 6 | * See LICENSES/README.md for more information. | ||
| 7 | */ | ||
| 8 | |||
| 9 | #include "utils/StreamDetails.h" | ||
| 10 | |||
| 11 | #include <gtest/gtest.h> | ||
| 12 | |||
| 13 | TEST(TestStreamDetails, General) | ||
| 14 | { | ||
| 15 | CStreamDetails a; | ||
| 16 | CStreamDetailVideo *video = new CStreamDetailVideo(); | ||
| 17 | CStreamDetailAudio *audio = new CStreamDetailAudio(); | ||
| 18 | CStreamDetailSubtitle *subtitle = new CStreamDetailSubtitle(); | ||
| 19 | |||
| 20 | video->m_iWidth = 1920; | ||
| 21 | video->m_iHeight = 1080; | ||
| 22 | video->m_fAspect = 2.39f; | ||
| 23 | video->m_iDuration = 30; | ||
| 24 | video->m_strCodec = "h264"; | ||
| 25 | video->m_strStereoMode = "left_right"; | ||
| 26 | video->m_strLanguage = "eng"; | ||
| 27 | |||
| 28 | audio->m_iChannels = 2; | ||
| 29 | audio->m_strCodec = "aac"; | ||
| 30 | audio->m_strLanguage = "eng"; | ||
| 31 | |||
| 32 | subtitle->m_strLanguage = "eng"; | ||
| 33 | |||
| 34 | a.AddStream(video); | ||
| 35 | a.AddStream(audio); | ||
| 36 | |||
| 37 | EXPECT_TRUE(a.HasItems()); | ||
| 38 | |||
| 39 | EXPECT_EQ(1, a.GetStreamCount(CStreamDetail::VIDEO)); | ||
| 40 | EXPECT_EQ(1, a.GetVideoStreamCount()); | ||
| 41 | EXPECT_STREQ("", a.GetVideoCodec().c_str()); | ||
| 42 | EXPECT_EQ(0.0f, a.GetVideoAspect()); | ||
| 43 | EXPECT_EQ(0, a.GetVideoWidth()); | ||
| 44 | EXPECT_EQ(0, a.GetVideoHeight()); | ||
| 45 | EXPECT_EQ(0, a.GetVideoDuration()); | ||
| 46 | EXPECT_STREQ("", a.GetStereoMode().c_str()); | ||
| 47 | |||
| 48 | EXPECT_EQ(1, a.GetStreamCount(CStreamDetail::AUDIO)); | ||
| 49 | EXPECT_EQ(1, a.GetAudioStreamCount()); | ||
| 50 | |||
| 51 | EXPECT_EQ(0, a.GetStreamCount(CStreamDetail::SUBTITLE)); | ||
| 52 | EXPECT_EQ(0, a.GetSubtitleStreamCount()); | ||
| 53 | |||
| 54 | a.AddStream(subtitle); | ||
| 55 | EXPECT_EQ(1, a.GetStreamCount(CStreamDetail::SUBTITLE)); | ||
| 56 | EXPECT_EQ(1, a.GetSubtitleStreamCount()); | ||
| 57 | |||
| 58 | a.DetermineBestStreams(); | ||
| 59 | EXPECT_STREQ("h264", a.GetVideoCodec().c_str()); | ||
| 60 | EXPECT_EQ(2.39f, a.GetVideoAspect()); | ||
| 61 | EXPECT_EQ(1920, a.GetVideoWidth()); | ||
| 62 | EXPECT_EQ(1080, a.GetVideoHeight()); | ||
| 63 | EXPECT_EQ(30, a.GetVideoDuration()); | ||
| 64 | EXPECT_STREQ("left_right", a.GetStereoMode().c_str()); | ||
| 65 | } | ||
| 66 | |||
| 67 | TEST(TestStreamDetails, VideoDimsToResolutionDescription) | ||
| 68 | { | ||
| 69 | EXPECT_STREQ("1080", | ||
| 70 | CStreamDetails::VideoDimsToResolutionDescription(1920, 1080).c_str()); | ||
| 71 | } | ||
| 72 | |||
| 73 | TEST(TestStreamDetails, VideoAspectToAspectDescription) | ||
| 74 | { | ||
| 75 | EXPECT_STREQ("2.40", CStreamDetails::VideoAspectToAspectDescription(2.39f).c_str()); | ||
| 76 | } | ||
