From: Haesu Gwon Date: Tue, 4 Aug 2020 04:48:22 +0000 (+0900) Subject: [Multimedia][Non-ACR] Add new Multimedia UI test module X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fa5339ddd890b77cea8e52f39c890c17f4dfc012;p=test%2Ftct%2Fcsharp%2Fapi.git [Multimedia][Non-ACR] Add new Multimedia UI test module The Camera/MediaPlayer UI related TCs are moved new Camera.UI, MediaPlayer.UI TC module. Change-Id: I675e628bd4a07f7db0782d259d4047c6c02b1b4f --- diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/Program.cs b/tct-suite-vs/Tizen.Camera.UI.Tests/Program.cs new file mode 100644 index 000000000..7059b9bb4 --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/Program.cs @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +using System; +using NUnitLite.TUnit; +using AutoTemplate; + +namespace XamarinForTizen.Tizen +{ + + class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication + { + private static App _app; + protected override void OnCreate() + { + base.OnCreate(); + + Console.WriteLine("TCT : OnCreate()"); + _app = new App(); + LoadApplication(_app); + + TRunner t = new TRunner(); + t.LoadTestsuite(); + t.Execute(); + } + + public static App getApp() + { + return _app; + } + static void Main(string[] args) + { + Console.WriteLine("TCT : Main()"); + var app = new Program(); + global::Xamarin.Forms.Forms.Init(app); + app.Run(args); + } + } +} diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/Tizen.Camera.UI.Tests.csproj b/tct-suite-vs/Tizen.Camera.UI.Tests/Tizen.Camera.UI.Tests.csproj new file mode 100644 index 000000000..0a96067bd --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/Tizen.Camera.UI.Tests.csproj @@ -0,0 +1,41 @@ + + + + + Exe + tizen80 + Tizen + + + + + true + + + + portable + + + None + + + + + + + + + + + Runtime + + + + + + + + + + + diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/Tizen.Camera.UI.Tests.sln b/tct-suite-vs/Tizen.Camera.UI.Tests/Tizen.Camera.UI.Tests.sln new file mode 100644 index 000000000..199df39de --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/Tizen.Camera.UI.Tests.sln @@ -0,0 +1,92 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.15 +MinimumVisualStudioVersion = 15.0.26124.0 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Camera.UI.Tests", "Tizen.Camera.UI.Tests.csproj", "{D92BEEAC-3B2A-45F8-8C53-53B92550404A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunit.framework", "..\nunit.framework\nunit.framework.csproj", "{B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunitlite", "..\nunitlite\nunitlite.csproj", "{FDB8025A-C029-461F-895E-287B4C65939B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTemplate", "..\Template\AutoTemplate\AutoTemplate.csproj", "{B11ABB0C-C3C1-4B5C-8251-A15628A775F3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Multimedia.Support.Library", "..\Tizen.Multimedia.Support.Library\Tizen.Multimedia.Support.Library.csproj", "{0D6F592E-106E-4892-87E5-AEFB57B53F37}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x64.ActiveCfg = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x64.Build.0 = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x86.ActiveCfg = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x86.Build.0 = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|Any CPU.Build.0 = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x64.ActiveCfg = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x64.Build.0 = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x86.ActiveCfg = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x86.Build.0 = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x64.ActiveCfg = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x64.Build.0 = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x86.ActiveCfg = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x86.Build.0 = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|Any CPU.Build.0 = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x64.ActiveCfg = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x64.Build.0 = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x86.ActiveCfg = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x86.Build.0 = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x64.ActiveCfg = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x64.Build.0 = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x86.ActiveCfg = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x86.Build.0 = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|Any CPU.Build.0 = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x64.ActiveCfg = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x64.Build.0 = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x86.ActiveCfg = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x86.Build.0 = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x64.ActiveCfg = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x64.Build.0 = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x86.ActiveCfg = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x86.Build.0 = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|Any CPU.Build.0 = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x64.ActiveCfg = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x64.Build.0 = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x86.ActiveCfg = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x86.Build.0 = Release|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Debug|x64.ActiveCfg = Debug|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Debug|x64.Build.0 = Debug|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Debug|x86.ActiveCfg = Debug|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Debug|x86.Build.0 = Debug|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Release|Any CPU.Build.0 = Release|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Release|x64.ActiveCfg = Release|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Release|x64.Build.0 = Release|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Release|x86.ActiveCfg = Release|Any CPU + {0D6F592E-106E-4892-87E5-AEFB57B53F37}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {ED382B91-9930-40B6-B3D7-362304C78680} + EndGlobalSection +EndGlobal diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/shared/res/Tizen.Camera.UI.Tests.png b/tct-suite-vs/Tizen.Camera.UI.Tests/shared/res/Tizen.Camera.UI.Tests.png new file mode 100755 index 000000000..9765b1bda Binary files /dev/null and b/tct-suite-vs/Tizen.Camera.UI.Tests/shared/res/Tizen.Camera.UI.Tests.png differ diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/TSCamera.cs b/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/TSCamera.cs new file mode 100644 index 000000000..358a50560 --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/TSCamera.cs @@ -0,0 +1,46 @@ +// Copyright 2020 by Samsung Electronics, Inc., +// +// This software is the confidential and proprietary information +// of Samsung Electronics, Inc. ("Confidential Information"). You +// shall not disclose such Confidential Information and shall use +// it only in accordance with the terms of the license agreement +// you entered into with Samsung. + +using NUnit.Framework; +using System; +using Tizen.Multimedia; + +namespace Tizen.Camera.UI.Tests +{ + [TestFixture] + [Description("Tests Tizen.Multimedia.Camera class")] + public class CameraTests : TestBase + { + [Test] + [Category("P1")] + [Description("Test Display property of the camera.")] + [Property("SPEC", "Tizen.Multimedia.Camera.Display A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] + public void Display_PROPERTY_READ_ONLY() + { + /* TESTCODE + * Test Surface Display Type. + * Overlay type is tested always in TestBase.SetUpBase() + */ + try + { + TestCamera.Display = new Display(new MediaView(CreateWindow())); + } + catch (NotSupportedException) + { + Assert.Pass("EVAS surface display type is not supported."); + } + catch + { + Assert.Fail("Set display for surface type is failed."); + } + } + } +} diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/support/Features.cs b/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/support/Features.cs new file mode 100644 index 000000000..4afa6ad79 --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/support/Features.cs @@ -0,0 +1,24 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +namespace Tizen.Camera.UI.Tests +{ + internal static class Features + { + internal const string PrimaryCamera = "http://tizen.org/feature/camera"; + internal const string SecondaryCamera = "http://tizen.org/feature/camera.front"; + } +} diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/support/TestBase.cs b/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/support/TestBase.cs new file mode 100644 index 000000000..943c8a21c --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/testcase/support/TestBase.cs @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using ElmSharp; +using NUnit.Framework; +using System; +using System.Linq; + +namespace Tizen.Camera.UI.Tests +{ + using Tizen.Multimedia; + public class TestBase + { + public static Camera TestCamera { get; private set; } + + [SetUp] + public void SetUpBase() + { + try + { + TestCamera = new Camera(CameraDevice.Rear); + TestCamera.Settings.PreviewPixelFormat = TestCamera.Capabilities.SupportedPreviewPixelFormats.FirstOrDefault(); + } + catch (NotSupportedException) when (FeatureChecker.IsSupported(Features.PrimaryCamera) == false) + { + Assert.Pass("Camera feature is not supported."); + } + + /// Default test window type is overlay. + try + { + TestCamera.Display = new Display(CreateWindow()); + } + catch (NotSupportedException) + { + Assert.Pass("Overlay display type is not supported."); + } + catch + { + Assert.Fail("Set display for overlay type is failed."); + } + } + + [TearDown] + public void TearDownBase() + { + if (TestCamera != null) + { + if (TestCamera.State == CameraState.Captured) + { + TestCamera.StartPreview(); + TestCamera.StopPreview(); + } + else if (TestCamera.State == CameraState.Preview) + { + TestCamera.StopPreview(); + } + + TestCamera?.Dispose(); + } + } + + internal static bool IsSupportedSecondaryCamera() + { + return FeatureChecker.IsSupported(Features.SecondaryCamera); + } + + internal static Window CreateWindow() + { + var w = new Window(""); + w.Resize(100, 100); + w.Realize(null); + return w; + } + + public static Display CameraOverlayDisplay = new Display(CreateWindow()); + + public static Display CameraSurfaceDisplay = new Display(new MediaView(CreateWindow())); + } +} diff --git a/tct-suite-vs/Tizen.Camera.UI.Tests/tizen-manifest.xml b/tct-suite-vs/Tizen.Camera.UI.Tests/tizen-manifest.xml new file mode 100755 index 000000000..14a926076 --- /dev/null +++ b/tct-suite-vs/Tizen.Camera.UI.Tests/tizen-manifest.xml @@ -0,0 +1,17 @@ + + + + + Tizen.Camera.UI.Tests.png + + + + http://tizen.org/privilege/camera + http://tizen.org/privilege/appmanager.launch + + diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Program.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Program.cs new file mode 100644 index 000000000..7059b9bb4 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Program.cs @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +using System; +using NUnitLite.TUnit; +using AutoTemplate; + +namespace XamarinForTizen.Tizen +{ + + class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication + { + private static App _app; + protected override void OnCreate() + { + base.OnCreate(); + + Console.WriteLine("TCT : OnCreate()"); + _app = new App(); + LoadApplication(_app); + + TRunner t = new TRunner(); + t.LoadTestsuite(); + t.Execute(); + } + + public static App getApp() + { + return _app; + } + static void Main(string[] args) + { + Console.WriteLine("TCT : Main()"); + var app = new Program(); + global::Xamarin.Forms.Forms.Init(app); + app.Run(args); + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Tizen.MediaPlayer.UI.Tests.csproj b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Tizen.MediaPlayer.UI.Tests.csproj new file mode 100644 index 000000000..0a96067bd --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Tizen.MediaPlayer.UI.Tests.csproj @@ -0,0 +1,41 @@ + + + + + Exe + tizen80 + Tizen + + + + + true + + + + portable + + + None + + + + + + + + + + + Runtime + + + + + + + + + + + diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Tizen.MediaPlayer.UI.Tests.sln b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Tizen.MediaPlayer.UI.Tests.sln new file mode 100644 index 000000000..5901bd13f --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/Tizen.MediaPlayer.UI.Tests.sln @@ -0,0 +1,92 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.15 +MinimumVisualStudioVersion = 15.0.26124.0 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.MediaPlayer.UI.Tests", "Tizen.MediaPlayer.UI.Tests.csproj", "{D92BEEAC-3B2A-45F8-8C53-53B92550404A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunit.framework", "..\nunit.framework\nunit.framework.csproj", "{B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunitlite", "..\nunitlite\nunitlite.csproj", "{FDB8025A-C029-461F-895E-287B4C65939B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTemplate", "..\Template\AutoTemplate\AutoTemplate.csproj", "{B11ABB0C-C3C1-4B5C-8251-A15628A775F3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Multimedia.Support.Library", "..\Tizen.Multimedia.Support.Library\Tizen.Multimedia.Support.Library.csproj", "{D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x64.ActiveCfg = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x64.Build.0 = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x86.ActiveCfg = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x86.Build.0 = Debug|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|Any CPU.Build.0 = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x64.ActiveCfg = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x64.Build.0 = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x86.ActiveCfg = Release|Any CPU + {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x86.Build.0 = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x64.ActiveCfg = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x64.Build.0 = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x86.ActiveCfg = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x86.Build.0 = Debug|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|Any CPU.Build.0 = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x64.ActiveCfg = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x64.Build.0 = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x86.ActiveCfg = Release|Any CPU + {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x86.Build.0 = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x64.ActiveCfg = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x64.Build.0 = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x86.ActiveCfg = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x86.Build.0 = Debug|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|Any CPU.Build.0 = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x64.ActiveCfg = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x64.Build.0 = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x86.ActiveCfg = Release|Any CPU + {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x86.Build.0 = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x64.ActiveCfg = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x64.Build.0 = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x86.ActiveCfg = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x86.Build.0 = Debug|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|Any CPU.Build.0 = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x64.ActiveCfg = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x64.Build.0 = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x86.ActiveCfg = Release|Any CPU + {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x86.Build.0 = Release|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Debug|x64.ActiveCfg = Debug|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Debug|x64.Build.0 = Debug|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Debug|x86.ActiveCfg = Debug|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Debug|x86.Build.0 = Debug|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Release|Any CPU.Build.0 = Release|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Release|x64.ActiveCfg = Release|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Release|x64.Build.0 = Release|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Release|x86.ActiveCfg = Release|Any CPU + {D89F4AC5-EECD-4752-B1F4-F30AB97ED8BF}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {ED382B91-9930-40B6-B3D7-362304C78680} + EndGlobalSection +EndGlobal diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test.h264 b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test.h264 new file mode 100755 index 000000000..83016b9c1 Binary files /dev/null and b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test.h264 differ diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test.mp3 b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test.mp3 new file mode 100755 index 000000000..5fb75b15f Binary files /dev/null and b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test.mp3 differ diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_360.mp4 b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_360.mp4 new file mode 100755 index 000000000..294fe3270 Binary files /dev/null and b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_360.mp4 differ diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_drc_640x480_320x240.ts b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_drc_640x480_320x240.ts new file mode 100755 index 000000000..633dd3293 Binary files /dev/null and b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_drc_640x480_320x240.ts differ diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_meta.mp4 b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_meta.mp4 new file mode 100755 index 000000000..d6e105084 Binary files /dev/null and b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/res/test_meta.mp4 differ diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/shared/res/Tizen.MediaPlayer.UI.Tests.png b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/shared/res/Tizen.MediaPlayer.UI.Tests.png new file mode 100755 index 000000000..9765b1bda Binary files /dev/null and b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/shared/res/Tizen.MediaPlayer.UI.Tests.png differ diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSAdaptiveVariants.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSAdaptiveVariants.cs new file mode 100644 index 000000000..6ea895aaf --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSAdaptiveVariants.cs @@ -0,0 +1,65 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using System.Threading.Tasks; +using System.Linq; +using System.Collections; +using System; +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ + [TestFixture] + [Description("Tizen.Multimedia.AdaptiveVariants Tests")] + public class AdaptiveVariantsTests : TestBase + { + private MediaUriSource _adaptiveStreamingSource = null; + + [OneTimeSetUp] + public void Init() + { + if (MediaPlayerPreconditionUtils.ADAPTIVE_STREAMING_URI == null) + MediaPlayerPreconditionUtils.SetPrecondition(); + + _adaptiveStreamingSource = new MediaUriSource(MediaPlayerPreconditionUtils.ADAPTIVE_STREAMING_URI); + } + + [Test] + [Category("P1")] + [Description("Test AdaptiveVariants supported property. Supported list should be greater than 0")] + [Property("SPEC", "Tizen.Multimedia.AdaptiveVariants.AvailableAdaptiveVariants A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRO")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task AvailableAdaptiveVariants_PROPERTY_READ_ONLY() + { + try + { + var player = await GetPreparedPlayer(_adaptiveStreamingSource, DefaultDisplay); + IList result = player.AdaptiveVariants.AvailableAdaptiveVariants.ToList(); + Assert.IsNotNull(result, "The list of adaptive variants should not be null."); + Assert.IsNotEmpty(result, "The list of adaptive variants should not be empty."); + Assert.Greater(result.Count, 0, "The list of adaptive variants should be greater than 0"); + } + catch (Exception) + { + NetworkConncetion.Check(); + throw; + } + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaPlayer.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaPlayer.cs new file mode 100644 index 000000000..8b842c348 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaPlayer.cs @@ -0,0 +1,196 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using System; +using System.Threading.Tasks; +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ +#pragma warning disable CS4014 + + [TestFixture] + [Description("Tizen.Multimedia.UI tests")] + public class PlayerTests : TestBase + { + #region AudioOnly + [Test] + [Category("P1")] + [Description("Default IsAudioOnly value is false")] + [Property("SPEC", "Tizen.Multimedia.Player.IsAudioOnly A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PDV")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task IsAudioOnly_DEFAULT() + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.VideoFilePath), DefaultDisplay); + + Assert.That(player.IsAudioOnly, Is.False); + + } + + [Test] + [Category("P1")] + [Description("check whether IsAudioOnly is readable and writable")] + [Property("SPEC", "Tizen.Multimedia.Player.IsAudioOnly A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task IsAudioOnly_SET_GET() + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.VideoFilePath), DefaultDisplay); + + const bool newValue = true; + + player.IsAudioOnly = newValue; + Assert.That(player.IsAudioOnly, Is.EqualTo(newValue)); + } + #endregion + + #region Display + [Test] + [Category("P2")] + [Description("Display can't be assigned to multiple players")] + [Property("SPEC", "Tizen.Multimedia.Player.Display A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PEX")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void Display_THROWS_IF_SET_TO_MULTIPLE() + { + using (Player p = new Player()) + { + TestPlayer.Display = DefaultDisplay; + + Assert.That(() => p.Display = DefaultDisplay, Throws.ArgumentException); + } + } + + [Test] + [Category("P1")] + [Description("Display set test")] + [Property("SPEC", "Tizen.Multimedia.Player.Display A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PCST")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void Display_SET_CHECK() + { + Assert.That(() => TestPlayer.Display = DefaultDisplay, Throws.Nothing); + } + #endregion + + #region VideoStreamChanged + [Test] + [Category("P1")] + [Description("VideoStreamChanged test")] + [Property("SPEC", "Tizen.Multimedia.Player.VideoStreamChanged E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task VideoStreamChanged_CHECK() + { + using (var eventAwaiter = EventAwaiter.Create()) + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.StreamChangedTestFilePath), DefaultDisplay); + + player.VideoStreamChanged += eventAwaiter; + + player.Start(); + + await player.SetPlayPositionAsync(4500, true); + + Assert.That(await eventAwaiter.IsRaisedAsync(), "Event wasn't raised."); + } + } + #endregion + + #region PlaybackInterrupted + [Test] + [Category("P1")] + [Description("PlaybackInterrupted test")] + [Property("SPEC", "Tizen.Multimedia.Player.PlaybackInterrupted E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task PlaybackInterrupted_CHECK() + { + var source = Constants.VideoFileSource; + + using (var eventWaiter = EventAwaiter.Create()) + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.StreamChangedTestFilePath), DefaultDisplay); + + player.PlaybackInterrupted += eventWaiter; + + using (Player secondPlayer = new Player()) + { + secondPlayer.SetSource(source); + secondPlayer.Display = new Display(CreateWindow()); + await secondPlayer.PrepareAsync(); + } + Assert.That(await eventWaiter.IsRaisedAsync()); + } + } + #endregion + + #region VideoRoi + [Test] + [Category("P1")] + [Description("SetVideoRoi default test")] + [Property("SPEC", "Tizen.Multimedia.Player.SetVideoRoi M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MCST")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public void SetVideoRoi_DEFAULT() + { + Player player = new Player(); + player.SetSource(Constants.VideoFileSource); + player.Display = new Display(CreateWindow()); + + ScaleRectangle sr = new ScaleRectangle(0.19, 0.98765, 1.0, 0.21548); + + Assert.That(() => player.SetVideoRoi(sr), Throws.Nothing); + Assert.That(player.GetVideoRoi(), Is.EqualTo(sr), "Invalid value."); + player.Dispose(); + } + + [Test] + [Category("P2")] + [Description("SetVideoRoi throws exceptions if out of range")] + [Property("SPEC", "Tizen.Multimedia.Player.SetVideoRoi M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public void SetVideoRoi_OUT_OF_RANGE() + { + Player player = new Player(); + player.SetSource(Constants.VideoFileSource); + player.Display = new Display(CreateWindow()); + + Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0, 0, 0, 0)), Throws.TypeOf()); + Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0.1, 0.1, 0.18, 4)), Throws.TypeOf()); + Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0.99, -0.1, 1, 1)), Throws.TypeOf()); + Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0.1, 0.1, 1.1, 1)), Throws.TypeOf()); + Assert.That(() => player.SetVideoRoi(new ScaleRectangle(-3, 0.1, 1, 1)), Throws.TypeOf()); + player.Dispose(); + } + #endregion + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaStreamConfiguration.Assigned.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaStreamConfiguration.Assigned.cs new file mode 100644 index 000000000..34a481bd9 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaStreamConfiguration.Assigned.cs @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using System.Threading.Tasks; +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ + [TestFixture] + [Description("Tizen.Multimedia.MediaSteramConfiguration tests")] + public class MediaStreamConfigurationAssignedTests : TestBase + { + private MediaStreamSource _streamSource; + private MediaStreamConfiguration _configuration; + + [SetUp] + public void SetUp() + { + _streamSource = new MediaStreamSource(VideoDecoderParser.Format); + _configuration = _streamSource.VideoConfiguration; + + GetIdlePlayer().SetSource(_streamSource); + } + + [Test] + [Category("P1")] + [Description("BufferStatusChanged test")] + [Property("SPEC", "Tizen.Multimedia.MediaStreamConfiguration.BufferStatusChanged E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task BufferStatusChanged_CHECK() + { + await GetPreparedPlayer(_streamSource, DefaultDisplay); + + using (var eventAwaiter = EventAwaiter.Create()) + { + _configuration.BufferMinThreshold = 10U; + _configuration.BufferStatusChanged += eventAwaiter; + new VideoDecoderParser(Constants.PushFilePath).Feed((packet) => + { + _streamSource.Push(packet); + packet.Dispose(); + }); + + var args = await eventAwaiter.GetResultAsync(); + + Assert.That(args.Status, Is.EqualTo(MediaStreamBufferStatus.Underrun)); + } + } + + [Test] + [Category("P1")] + [Description("SeekingOccurred test")] + [Property("SPEC", "Tizen.Multimedia.MediaStreamConfiguration.SeekingOccurred E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task SeekingOccurred_CHECK() + { + var player = await GetPreparedPlayer(_streamSource, DefaultDisplay); + + using (var eventAwaiter = EventAwaiter.Create()) + { + _configuration.SeekingOccurred += eventAwaiter; + + new VideoDecoderParser(Constants.PushFilePath).Feed((packet) => + { + _streamSource.Push(packet); + packet.Dispose(); + }); + + await player.SetPlayPositionAsync(40000, true); + + Assert.That(await eventAwaiter.IsRaisedAsync()); + } + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaStreamSource.WithPlayer.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaStreamSource.WithPlayer.cs new file mode 100644 index 000000000..813bc61aa --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSMediaStreamSource.WithPlayer.cs @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using System.Threading.Tasks; +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ + [TestFixture] + [Description("Tizen.Multimedia.MediaStreamSource Tests")] + public class MediaStreamSourceWithPlayerTests : TestBase + { + private static readonly AudioMediaFormat AacAudioFormat = new AudioMediaFormat( + MediaFormatAudioMimeType.Aac, 2, 48000, 16, 128000); + + private MediaStreamSource _audioSource = new MediaStreamSource(AacAudioFormat); + private MediaStreamSource _videoSource = new MediaStreamSource(VideoDecoderParser.Format); + + [Test] + [Category("P2")] + [Description("Push throws if a audio packet is passed to a video source")] + [Property("SPEC", "Tizen.Multimedia.MediaStreamSource.Push M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MEX")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task Push_THROWS_IF_PACKET_NOT_ACCEPTABLE_VIDEO() + { + var player = await GetPreparedPlayer(_videoSource, DefaultDisplay); + + using (var audioPacket = MediaPacket.Create(AacAudioFormat)) + { + Assert.That(() => _videoSource.Push(audioPacket), Throws.ArgumentException); + } + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSSphericalVideo.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSSphericalVideo.cs new file mode 100644 index 000000000..f0f9c373f --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSSphericalVideo.cs @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using System.Threading.Tasks; +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ + [TestFixture] + [Description("Tizen.Multimedia.SphericalVideo Tests")] + public class SphericalVideoTests : TestBase + { + [SetUp] + public void SetUp() + { + if (FeatureChecker.IsSupported(Features.OpenGl) == false + || FeatureChecker.IsSupported(Features.SphericalVideo) == false) + { + Assert.Pass($"The feature is not supported."); + } + } + + private class DefaultValues + { + public const float Yaw = 0.0f; + public const float Pitch = 0.0f; + public const float level = 1.0f; + public const int HorizontalDegrees = 120; + public const int VerticalDegrees = 67; + } + + protected async Task GetSphericalVideo() + { + return (await GetPlayingPlayer(Constants.SphericalVideoSource, DefaultDisplay)).SphericalVideo; + } + + [Test] + [Category("P1")] + [Description("Player always not null")] + [Property("SPEC", "Tizen.Multimedia.SphericalVideo.Player A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PDV")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task Player_CHECK() + { + Assert.That((await GetSphericalVideo()).Player, Is.Not.Null); + } + + [Test] + [Category("P1")] + [Description("Check whether IsEnabled is readable and writable")] + [Property("SPEC", "Tizen.Multimedia.SphericalVideo.IsEnabled A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PRW")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task IsEnabled_SET_GET() + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.SphericalVideoPath), DefaultDisplay); + + const bool newValue = true; + + player.SphericalVideo.IsEnabled = newValue; + Assert.That(player.SphericalVideo.IsEnabled, Is.EqualTo(newValue), "Invalid value"); + } + + [Test] + [Category("P1")] + [Description("IsSphericalContent throws if the video is spherical content")] + [Property("SPEC", "Tizen.Multimedia.SphericalVideo.IsSphericalContent M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task IsSphericalContent_TRUE() + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.SphericalVideoPath), DefaultDisplay); + + Assert.That(player.SphericalVideo.IsSphericalContent(), Is.True, "Invalid value"); + } + + [Test] + [Category("P1")] + [Description("IsSphericalContent throws if the video is not spherical content")] + [Property("SPEC", "Tizen.Multimedia.SphericalVideo.IsSphericalContent M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] + public async Task IsSphericalContent_FALSE() + { + var player = await GetPreparedPlayer( + new MediaUriSource(Constants.VideoFilePath), DefaultDisplay); + + Assert.That(player.SphericalVideo.IsSphericalContent(), Is.False, "Invalid value"); + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSStreamInfo.Video.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSStreamInfo.Video.cs new file mode 100644 index 000000000..fa2b4b825 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/TSStreamInfo.Video.cs @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using System; +using System.Threading.Tasks; +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ + [TestFixture] + [Description("Tizen.Multimedia.StreamInfo tests")] + public class StreamInfoVideoTests : TestBase + { + private class ExpectedValues + { + public const string CodecName = "MPEG-4 Video (Simple Profile) (MPEG4)"; + public const int BitRate = 961168; + public const int Fps = 30; + public const int Width = 320; + public const int Height = 240; + } + + protected async Task GetVideoStreamInfo() + { + return (await GetPlayingPlayer(Constants.VideoFileSource, DefaultDisplay)).StreamInfo; + } + + [Test] + [Category("P1")] + [Description("VideoCodec codec name test")] + [Property("SPEC", "Tizen.Multimedia.StreamInfo.GetVideoCodec M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task GetVideoCodec_CHECK_RETURN() + { + var streamInfo = await GetVideoStreamInfo(); + + Assert.That( + ExpectedValues.CodecName.IndexOf(streamInfo.GetVideoCodec(), StringComparison.OrdinalIgnoreCase) >= 0, + $"Codec does not match : {streamInfo.GetVideoCodec()}"); + } + + [Test] + [Category("P1")] + [Description("VideoStreamProperties returns video stream info")] + [Property("SPEC", "Tizen.Multimedia.StreamInfo.GetVideoProperties M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task GetVideoProperties_CHECK_RETURN() + { + var videoStreamProp = (await GetVideoStreamInfo()).GetVideoProperties(); + + Assert.That(videoStreamProp.BitRate, Is.EqualTo(ExpectedValues.BitRate), + "Incorrect bit rate."); + + Assert.That(videoStreamProp.Fps, Is.EqualTo(ExpectedValues.Fps), + "Incorrect fps."); + + Assert.That(videoStreamProp.Size.Width, Is.EqualTo(ExpectedValues.Width), + "Incorrect width."); + + Assert.That(videoStreamProp.Size.Height, Is.EqualTo(ExpectedValues.Height), + "Incorrect height."); + } + + [Test] + [Category("P1")] + [Description("GetMetadata check")] + [Property("SPEC", "Tizen.Multimedia.StreamInfo.GetMetadata M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task GetMetadata_CHECK() + { + var streamInfo = await GetVideoStreamInfo(); + + Assert.That(streamInfo.GetMetadata(StreamMetadataKey.Title), Is.Not.Null); + } + + [Test] + [Category("P1")] + [Description("Player always not null")] + [Property("SPEC", "Tizen.Multimedia.StreamInfo.Player A")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "PDV")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public async Task Player_CHECK() + { + Assert.That((await GetVideoStreamInfo()).Player, Is.Not.Null); + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/Constants.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/Constants.cs new file mode 100644 index 000000000..065745e31 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/Constants.cs @@ -0,0 +1,36 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using Tizen.Multimedia; + +namespace Tizen.MediaPlayer.UI.Tests +{ + internal static class Constants + { + internal const int AudioLength = 33384; + + internal const string AudioFilePath = "/opt/usr/home/owner/share/res/test.mp3"; + internal const string PushFilePath = "/opt/usr/home/owner/share/res/test.h264"; // no pts + internal const string VideoFilePath = "/opt/usr/home/owner/share/res/test_meta.mp4"; + internal const string SphericalVideoPath = "/opt/usr/home/owner/share/res/test_360.mp4"; + + internal const string StreamChangedTestFilePath = "/opt/usr/home/owner/share/res/test_drc_640x480_320x240.ts"; + + internal static readonly MediaUriSource AudioFileSource = new MediaUriSource(AudioFilePath); + internal static readonly MediaUriSource VideoFileSource = new MediaUriSource(VideoFilePath); + internal static readonly MediaUriSource SphericalVideoSource = new MediaUriSource(SphericalVideoPath); + } +} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/Features.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/Features.cs new file mode 100644 index 000000000..937661c2f --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/Features.cs @@ -0,0 +1,24 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +namespace Tizen.MediaPlayer.UI.Tests +{ + internal static class Features + { + internal const string OpenGl = "http://tizen.org/feature/opengles.version.2_0"; + internal const string SphericalVideo = "http://tizen.org/feature/multimedia.player.spherical_video"; + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/MediaPlayerNetworkConnection.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/MediaPlayerNetworkConnection.cs new file mode 100644 index 000000000..5340710f6 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/MediaPlayerNetworkConnection.cs @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework; +using NUnit.Framework.TUnit; +using Tizen.System; +using System; +using Tizen.Network.Connection; +using Tizen.Network.WiFi; + +namespace Tizen.MediaPlayer.UI.Tests +{ + internal static class NetworkConncetion + { + private static bool IsSupportable + { + get + { + Information.TryGetValue("http://tizen.org/feature/network.wifi", out bool isWiFiSupported); + Information.TryGetValue("http://tizen.org/feature/network.telephony", out bool isTelephonySupported); + Information.TryGetValue("http://tizen.org/feature/network.ethernet", out bool isEthernetSupported); + + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, + $"Wifi:{isWiFiSupported}, Telephony:{isTelephonySupported}, Ethernet:{isEthernetSupported}"); + + return isWiFiSupported | isTelephonySupported | isEthernetSupported; + } + } + + public static void Check() + { + if (!IsSupportable) + { + Assert.Fail("Networks are not supported."); + } + + if (ConnectionState.Connected == ConnectionManager.WiFiState) + { + WiFiAP WifiAp = WiFiManager.GetConnectedAP(); + if (WifiAp != null) + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "WifiAp : " + WifiAp.NetworkInformation.Essid.ToString()); + WifiAp.Dispose(); + } + + try + { + var data = ConnectionManager.GetStatistics(ConnectionType.WiFi, StatisticsType.TotalReceivedData); + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "TotalReceivedData : " + data); + if (data == 0) + Assert.Fail("TotalReceivedData should not be 0."); + } + catch (Exception ex) + { + Assert.Fail("Failed to get connection statistics. : " + ex.ToString()); + } + } + else + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Wifi is not connected. Maybe another network is being used."); + } + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/MediaPlayerPreconditionUtil.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/MediaPlayerPreconditionUtil.cs new file mode 100644 index 000000000..cdba3152f --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/MediaPlayerPreconditionUtil.cs @@ -0,0 +1,106 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using NUnit.Framework.TUnit; +using System; +using System.IO; + +namespace Tizen.MediaPlayer.UI.Tests +{ + public class MediaPlayerPreconditionUtils + { + public static string STREAMING_URI = null; + public static string ADAPTIVE_STREAMING_URI = null; + + public static void SetPrecondition() + { + string result = ReadFile("/opt/usr/home/owner/share/tct/preconfigure.json"); + int index = 0; + string[] resultArray = StringParser(result); + + if (resultArray == null) + { + LogUtils.Write(LogUtils.ERROR, LogUtils.TAG, "StringParser failed " + result); + return; + } + + foreach (string item in resultArray) + { + switch (item) + { + case "STREAMING_URI": + // Remove backslash + resultArray[index + 1] = resultArray[index + 1].Replace("\\", ""); + STREAMING_URI = resultArray[index + 1]; + break; + case "ADAPTIVE_STREAMING_URL": + resultArray[index + 1] = resultArray[index + 1].Replace("\\", ""); + ADAPTIVE_STREAMING_URI = resultArray[index + 1]; + break; + default: + break; + } + index++; + } + } + + private static string ReadFile(string path) + { + string result = null; + string url = path; + StreamReader reader = null; + + try + { + reader = File.OpenText(path); + result = reader.ReadToEnd(); + } + catch (Exception e) + { + LogUtils.Write(LogUtils.ERROR, LogUtils.TAG, "File read error : " + e.Message); + } + finally + { + if (reader != null) + { + reader.Dispose(); + } + } + return result; + } + private static string[] StringParser(string TCID) + { + TCID = TCID.Replace(": \"", ":\""); + TCID = TCID.Replace(" ", ""); + TCID = TCID.Replace("\n", ""); + TCID = TCID.Replace("\n", ""); + + string[] delimiter = { "[{\"", "\":\"", "\",\"", "\":", ",\"", "\"}]", "}" }; + string[] stringPieces = null; + + try + { + stringPieces = TCID.Split(delimiter, StringSplitOptions.None); + } + catch (Exception e) + { + LogUtils.Write(LogUtils.ERROR, LogUtils.TAG, "ResultParser : " + e.Message); + } + + return stringPieces; + } + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/TestBase.cs b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/TestBase.cs new file mode 100644 index 000000000..18a4ea68e --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/testcase/support/TestBase.cs @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the License); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an AS IS BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using ElmSharp; +using NUnit.Framework; +using NUnit.Framework.TUnit; +using System; +using System.Threading.Tasks; + +namespace Tizen.MediaPlayer.UI.Tests +{ + using Tizen.Multimedia; + + public class TestBase + { + public Player TestPlayer { get; private set; } + + [SetUp] + public void SetUpBase() + { + TestPlayer = new Player(); + } + + [TearDown] + public void TearDownBase() + { + TestPlayer.Dispose(); + } + + protected Player GetIdlePlayer() + { + TestPlayer.Unprepare(); + + return TestPlayer; + } + + internal async Task PreparePlayerAsync() + { + PlayerError? error = null; + + EventHandler errorHandler = (s, e) => error = e.Error; + + TestPlayer.ErrorOccurred += errorHandler; + + try + { + await TestPlayer.PrepareAsync(); + } + catch + { + if (error != null) + { + string msg = $"Failed to prepare the player. Error : { error }."; + + LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, msg); + throw new Exception(msg); + } + throw; + } + finally + { + TestPlayer.ErrorOccurred -= errorHandler; + } + } + + protected async Task GetPreparedPlayer(MediaSource source = null, Display display = null) + { + // reset source + TestPlayer.SetSource(null); + + TestPlayer.SetSource(source ?? Constants.AudioFileSource); + TestPlayer.Display = display; + + await PreparePlayerAsync(); + + return TestPlayer; + } + + protected async Task GetPlayingPlayer(MediaSource source = null, Display display = null) + { + await GetPreparedPlayer(source, display); + + TestPlayer.Start(); + + return TestPlayer; + } + + protected async Task GetPausedPlayer(MediaSource source = null, Display display = null) + { + await GetPlayingPlayer(source, display); + + TestPlayer.Pause(); + + return TestPlayer; + } + + internal static Window CreateWindow() + { + var w = new Window(""); + w.Resize(100, 100); + w.Realize(null); + return w; + } + + public static Display DefaultDisplay = new Display(CreateWindow()); + } +} diff --git a/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/tizen-manifest.xml b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/tizen-manifest.xml new file mode 100755 index 000000000..02d5967c0 --- /dev/null +++ b/tct-suite-vs/Tizen.MediaPlayer.UI.Tests/tizen-manifest.xml @@ -0,0 +1,18 @@ + + + + + Tizen.MediaPlayer.UI.Tests.png + + + + http://tizen.org/privilege/internet + http://tizen.org/privilege/appmanager.launch + http://tizen.org/privilege/network.get + + diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test.h264 b/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test.h264 deleted file mode 100755 index 83016b9c1..000000000 Binary files a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test.h264 and /dev/null differ diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test.mp3 b/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test.mp3 deleted file mode 100755 index 5fb75b15f..000000000 Binary files a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test.mp3 and /dev/null differ diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_360.mp4 b/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_360.mp4 deleted file mode 100755 index 294fe3270..000000000 Binary files a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_360.mp4 and /dev/null differ diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_drc_640x480_320x240.ts b/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_drc_640x480_320x240.ts deleted file mode 100755 index 633dd3293..000000000 Binary files a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_drc_640x480_320x240.ts and /dev/null differ diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_meta.mp4 b/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_meta.mp4 deleted file mode 100755 index d6e105084..000000000 Binary files a/tct-suite-vs/Tizen.Multimedia.UI.Tests/res/test_meta.mp4 and /dev/null differ diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/Camera/TSCamera.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/Camera/TSCamera.cs deleted file mode 100644 index 88eb763fa..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/Camera/TSCamera.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2020 by Samsung Electronics, Inc., -// -// This software is the confidential and proprietary information -// of Samsung Electronics, Inc. ("Confidential Information"). You -// shall not disclose such Confidential Information and shall use -// it only in accordance with the terms of the license agreement -// you entered into with Samsung. - -using NUnit.Framework; -using System; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tests Tizen.Multimedia.Camera class")] - public class CameraTests : CameraTestBase - { - [Test] - [Category("P1")] - [Description("Test Display property of the camera.")] - [Property("SPEC", "Tizen.Multimedia.Camera.Display A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRO")] - [Property("AUTHOR", "Haesu Gwon, haesu.gwon@samsung.com")] - public void Display_PROPERTY_READ_ONLY() - { - /* TESTCODE - * Test Surface Display Type. - * Overlay type is tested always in TestBase.SetUpBase() - */ - try - { - TestCamera.Display = new Display(new MediaView(CreateWindow())); - } - catch (NotSupportedException) - { - Assert.Pass("EVAS surface display type is not supported."); - } - catch - { - Assert.Fail("Set display for surface type is failed."); - } - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSAdaptiveVariants.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSAdaptiveVariants.cs deleted file mode 100644 index f8b1b559d..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSAdaptiveVariants.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using System.Threading.Tasks; -using System.Linq; -using System.Collections; -using System; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tizen.Multimedia.AdaptiveVariants Tests")] - public class AdaptiveVariantsTests : MediaPlayerTestBase - { - private MediaUriSource _adaptiveStreamingSource = null; - - [OneTimeSetUp] - public void Init() - { - if (MediaPlayerPreconditionUtils.ADAPTIVE_STREAMING_URI == null) - MediaPlayerPreconditionUtils.SetPrecondition(); - - _adaptiveStreamingSource = new MediaUriSource(MediaPlayerPreconditionUtils.ADAPTIVE_STREAMING_URI); - } - - [Test] - [Category("P1")] - [Description("Test AdaptiveVariants supported property. Supported list should be greater than 0")] - [Property("SPEC", "Tizen.Multimedia.AdaptiveVariants.AvailableAdaptiveVariants A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRO")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task AvailableAdaptiveVariants_PROPERTY_READ_ONLY() - { - try - { - var player = await GetPreparedPlayer(_adaptiveStreamingSource, DefaultDisplay); - IList result = player.AdaptiveVariants.AvailableAdaptiveVariants.ToList(); - Assert.IsNotNull(result, "The list of adaptive variants should not be null."); - Assert.IsNotEmpty(result, "The list of adaptive variants should not be empty."); - Assert.Greater(result.Count, 0, "The list of adaptive variants should be greater than 0"); - } - catch (Exception) - { - NetworkConncetion.Check(); - throw; - } - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaPlayer.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaPlayer.cs deleted file mode 100644 index 901cf6f11..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaPlayer.cs +++ /dev/null @@ -1,195 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using System; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.UI.Tests -{ -#pragma warning disable CS4014 - - [TestFixture] - [Description("Tizen.Multimedia.UI tests")] - public class PlayerTests : MediaPlayerTestBase - { - #region AudioOnly - [Test] - [Category("P1")] - [Description("Default IsAudioOnly value is false")] - [Property("SPEC", "Tizen.Multimedia.Player.IsAudioOnly A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PDV")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task IsAudioOnly_DEFAULT() - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.VideoFilePath), DefaultDisplay); - - Assert.That(player.IsAudioOnly, Is.False); - - } - - [Test] - [Category("P1")] - [Description("check whether IsAudioOnly is readable and writable")] - [Property("SPEC", "Tizen.Multimedia.Player.IsAudioOnly A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRW")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task IsAudioOnly_SET_GET() - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.VideoFilePath), DefaultDisplay); - - const bool newValue = true; - - player.IsAudioOnly = newValue; - Assert.That(player.IsAudioOnly, Is.EqualTo(newValue)); - } - #endregion - - #region Display - [Test] - [Category("P2")] - [Description("Display can't be assigned to multiple players")] - [Property("SPEC", "Tizen.Multimedia.Player.Display A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PEX")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void Display_THROWS_IF_SET_TO_MULTIPLE() - { - using (Player p = new Player()) - { - TestPlayer.Display = DefaultDisplay; - - Assert.That(() => p.Display = DefaultDisplay, Throws.ArgumentException); - } - } - - [Test] - [Category("P1")] - [Description("Display set test")] - [Property("SPEC", "Tizen.Multimedia.Player.Display A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PCST")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void Display_SET_CHECK() - { - Assert.That(() => TestPlayer.Display = DefaultDisplay, Throws.Nothing); - } - #endregion - - #region VideoStreamChanged - [Test] - [Category("P1")] - [Description("VideoStreamChanged test")] - [Property("SPEC", "Tizen.Multimedia.Player.VideoStreamChanged E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task VideoStreamChanged_CHECK() - { - using (var eventAwaiter = EventAwaiter.Create()) - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.StreamChangedTestFilePath), DefaultDisplay); - - player.VideoStreamChanged += eventAwaiter; - - player.Start(); - - await player.SetPlayPositionAsync(4500, true); - - Assert.That(await eventAwaiter.IsRaisedAsync(), "Event wasn't raised."); - } - } - #endregion - - #region PlaybackInterrupted - [Test] - [Category("P1")] - [Description("PlaybackInterrupted test")] - [Property("SPEC", "Tizen.Multimedia.Player.PlaybackInterrupted E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task PlaybackInterrupted_CHECK() - { - var source = Constants.VideoFileSource; - - using (var eventWaiter = EventAwaiter.Create()) - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.StreamChangedTestFilePath), DefaultDisplay); - - player.PlaybackInterrupted += eventWaiter; - - using (Player secondPlayer = new Player()) - { - secondPlayer.SetSource(source); - secondPlayer.Display = new Display(CreateWindow()); - await secondPlayer.PrepareAsync(); - } - Assert.That(await eventWaiter.IsRaisedAsync()); - } - } - #endregion - - #region VideoRoi - [Test] - [Category("P1")] - [Description("SetVideoRoi default test")] - [Property("SPEC", "Tizen.Multimedia.Player.SetVideoRoi M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MCST")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public void SetVideoRoi_DEFAULT() - { - Player player = new Player(); - player.SetSource(Constants.VideoFileSource); - player.Display = new Display(CreateWindow()); - - ScaleRectangle sr = new ScaleRectangle(0.19, 0.98765, 1.0, 0.21548); - - Assert.That(() => player.SetVideoRoi(sr), Throws.Nothing); - Assert.That(player.GetVideoRoi(), Is.EqualTo(sr), "Invalid value."); - player.Dispose(); - } - - [Test] - [Category("P2")] - [Description("SetVideoRoi throws exceptions if out of range")] - [Property("SPEC", "Tizen.Multimedia.Player.SetVideoRoi M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MEX")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public void SetVideoRoi_OUT_OF_RANGE() - { - Player player = new Player(); - player.SetSource(Constants.VideoFileSource); - player.Display = new Display(CreateWindow()); - - Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0, 0, 0, 0)), Throws.TypeOf()); - Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0.1, 0.1, 0.18, 4)), Throws.TypeOf()); - Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0.99, -0.1, 1, 1)), Throws.TypeOf()); - Assert.That(() => player.SetVideoRoi(new ScaleRectangle(0.1, 0.1, 1.1, 1)), Throws.TypeOf()); - Assert.That(() => player.SetVideoRoi(new ScaleRectangle(-3, 0.1, 1, 1)), Throws.TypeOf()); - player.Dispose(); - } - #endregion - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaStreamConfiguration.Assigned.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaStreamConfiguration.Assigned.cs deleted file mode 100644 index 7ec66cdd4..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaStreamConfiguration.Assigned.cs +++ /dev/null @@ -1,92 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tizen.Multimedia.MediaSteramConfiguration tests")] - public class MediaStreamConfigurationAssignedTests : MediaPlayerTestBase - { - private MediaStreamSource _streamSource; - private MediaStreamConfiguration _configuration; - - [SetUp] - public void SetUp() - { - _streamSource = new MediaStreamSource(VideoDecoderParser.Format); - _configuration = _streamSource.VideoConfiguration; - - GetIdlePlayer().SetSource(_streamSource); - } - - [Test] - [Category("P1")] - [Description("BufferStatusChanged test")] - [Property("SPEC", "Tizen.Multimedia.MediaStreamConfiguration.BufferStatusChanged E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task BufferStatusChanged_CHECK() - { - await GetPreparedPlayer(_streamSource, DefaultDisplay); - - using (var eventAwaiter = EventAwaiter.Create()) - { - _configuration.BufferMinThreshold = 10U; - _configuration.BufferStatusChanged += eventAwaiter; - new VideoDecoderParser(Constants.PushFilePath).Feed((packet) => - { - _streamSource.Push(packet); - packet.Dispose(); - }); - - var args = await eventAwaiter.GetResultAsync(); - - Assert.That(args.Status, Is.EqualTo(MediaStreamBufferStatus.Underrun)); - } - } - - [Test] - [Category("P1")] - [Description("SeekingOccurred test")] - [Property("SPEC", "Tizen.Multimedia.MediaStreamConfiguration.SeekingOccurred E")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "EVL")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task SeekingOccurred_CHECK() - { - var player = await GetPreparedPlayer(_streamSource, DefaultDisplay); - - using (var eventAwaiter = EventAwaiter.Create()) - { - _configuration.SeekingOccurred += eventAwaiter; - - new VideoDecoderParser(Constants.PushFilePath).Feed((packet) => - { - _streamSource.Push(packet); - packet.Dispose(); - }); - - await player.SetPlayPositionAsync(40000, true); - - Assert.That(await eventAwaiter.IsRaisedAsync()); - } - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaStreamSource.WithPlayer.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaStreamSource.WithPlayer.cs deleted file mode 100644 index ef393b785..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSMediaStreamSource.WithPlayer.cs +++ /dev/null @@ -1,49 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tizen.Multimedia.MediaStreamSource Tests")] - public class MediaStreamSourceWithPlayerTests : MediaPlayerTestBase - { - private static readonly AudioMediaFormat AacAudioFormat = new AudioMediaFormat( - MediaFormatAudioMimeType.Aac, 2, 48000, 16, 128000); - - private MediaStreamSource _audioSource = new MediaStreamSource(AacAudioFormat); - private MediaStreamSource _videoSource = new MediaStreamSource(VideoDecoderParser.Format); - - [Test] - [Category("P2")] - [Description("Push throws if a audio packet is passed to a video source")] - [Property("SPEC", "Tizen.Multimedia.MediaStreamSource.Push M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MEX")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task Push_THROWS_IF_PACKET_NOT_ACCEPTABLE_VIDEO() - { - var player = await GetPreparedPlayer(_videoSource, DefaultDisplay); - - using (var audioPacket = MediaPacket.Create(AacAudioFormat)) - { - Assert.That(() => _videoSource.Push(audioPacket), Throws.ArgumentException); - } - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSSphericalVideo.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSSphericalVideo.cs deleted file mode 100644 index 664e4679b..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSSphericalVideo.cs +++ /dev/null @@ -1,110 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tizen.Multimedia.SphericalVideo Tests")] - public class SphericalVideoTests : MediaPlayerTestBase - { - [SetUp] - public void SetUp() - { - if (FeatureChecker.IsSupported(Features.OpenGl) == false - || FeatureChecker.IsSupported(Features.SphericalVideo) == false) - { - Assert.Pass($"The feature is not supported."); - } - } - - private class DefaultValues - { - public const float Yaw = 0.0f; - public const float Pitch = 0.0f; - public const float level = 1.0f; - public const int HorizontalDegrees = 120; - public const int VerticalDegrees = 67; - } - - protected async Task GetSphericalVideo() - { - return (await GetPlayingPlayer(Constants.SphericalVideoSource, DefaultDisplay)).SphericalVideo; - } - - [Test] - [Category("P1")] - [Description("Player always not null")] - [Property("SPEC", "Tizen.Multimedia.SphericalVideo.Player A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PDV")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task Player_CHECK() - { - Assert.That((await GetSphericalVideo()).Player, Is.Not.Null); - } - - [Test] - [Category("P1")] - [Description("Check whether IsEnabled is readable and writable")] - [Property("SPEC", "Tizen.Multimedia.SphericalVideo.IsEnabled A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PRW")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task IsEnabled_SET_GET() - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.SphericalVideoPath), DefaultDisplay); - - const bool newValue = true; - - player.SphericalVideo.IsEnabled = newValue; - Assert.That(player.SphericalVideo.IsEnabled, Is.EqualTo(newValue), "Invalid value"); - } - - [Test] - [Category("P1")] - [Description("IsSphericalContent throws if the video is spherical content")] - [Property("SPEC", "Tizen.Multimedia.SphericalVideo.IsSphericalContent M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MR")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task IsSphericalContent_TRUE() - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.SphericalVideoPath), DefaultDisplay); - - Assert.That(player.SphericalVideo.IsSphericalContent(), Is.True, "Invalid value"); - } - - [Test] - [Category("P1")] - [Description("IsSphericalContent throws if the video is not spherical content")] - [Property("SPEC", "Tizen.Multimedia.SphericalVideo.IsSphericalContent M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MR")] - [Property("AUTHOR", "Jeongyoon Nam, just.nam@samsung.com")] - public async Task IsSphericalContent_FALSE() - { - var player = await GetPreparedPlayer( - new MediaUriSource(Constants.VideoFilePath), DefaultDisplay); - - Assert.That(player.SphericalVideo.IsSphericalContent(), Is.False, "Invalid value"); - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSStreamInfo.Video.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSStreamInfo.Video.cs deleted file mode 100644 index fe284e770..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/MediaPlayer/TSStreamInfo.Video.cs +++ /dev/null @@ -1,107 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using System; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tizen.Multimedia.StreamInfo tests")] - public class StreamInfoVideoTests : MediaPlayerTestBase - { - private class ExpectedValues - { - public const string CodecName = "MPEG-4 Video (Simple Profile) (MPEG4)"; - public const int BitRate = 961168; - public const int Fps = 30; - public const int Width = 320; - public const int Height = 240; - } - - protected async Task GetVideoStreamInfo() - { - return (await GetPlayingPlayer(Constants.VideoFileSource, DefaultDisplay)).StreamInfo; - } - - [Test] - [Category("P1")] - [Description("VideoCodec codec name test")] - [Property("SPEC", "Tizen.Multimedia.StreamInfo.GetVideoCodec M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MR")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task GetVideoCodec_CHECK_RETURN() - { - var streamInfo = await GetVideoStreamInfo(); - - Assert.That( - ExpectedValues.CodecName.IndexOf(streamInfo.GetVideoCodec(), StringComparison.OrdinalIgnoreCase) >= 0, - $"Codec does not match : {streamInfo.GetVideoCodec()}"); - } - - [Test] - [Category("P1")] - [Description("VideoStreamProperties returns video stream info")] - [Property("SPEC", "Tizen.Multimedia.StreamInfo.GetVideoProperties M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MR")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task GetVideoProperties_CHECK_RETURN() - { - var videoStreamProp = (await GetVideoStreamInfo()).GetVideoProperties(); - - Assert.That(videoStreamProp.BitRate, Is.EqualTo(ExpectedValues.BitRate), - "Incorrect bit rate."); - - Assert.That(videoStreamProp.Fps, Is.EqualTo(ExpectedValues.Fps), - "Incorrect fps."); - - Assert.That(videoStreamProp.Size.Width, Is.EqualTo(ExpectedValues.Width), - "Incorrect width."); - - Assert.That(videoStreamProp.Size.Height, Is.EqualTo(ExpectedValues.Height), - "Incorrect height."); - } - - [Test] - [Category("P1")] - [Description("GetMetadata check")] - [Property("SPEC", "Tizen.Multimedia.StreamInfo.GetMetadata M")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "MR")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task GetMetadata_CHECK() - { - var streamInfo = await GetVideoStreamInfo(); - - Assert.That(streamInfo.GetMetadata(StreamMetadataKey.Title), Is.Not.Null); - } - - [Test] - [Category("P1")] - [Description("Player always not null")] - [Property("SPEC", "Tizen.Multimedia.StreamInfo.Player A")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "PDV")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public async Task Player_CHECK() - { - Assert.That((await GetVideoStreamInfo()).Player, Is.Not.Null); - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/Multimedia/TSDisplay.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/Multimedia/TSDisplay.cs deleted file mode 100644 index 09b36dad0..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/Multimedia/TSDisplay.cs +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2020 by Samsung Electronics, Inc., -// -// This software is the confidential and proprietary information -// of Samsung Electronics, Inc. ("Confidential Information"). You -// shall not disclose such Confidential Information and shall use -// it only in accordance with the terms of the license agreement -// you entered into with Samsung. - -using NUnit.Framework; -using System; - -namespace Tizen.Multimedia.UI.Tests -{ - [TestFixture] - [Description("Tests Tizen.Multimedia.Display class")] - public class DisplayTests - { - [Test] - [Category("P1")] - [Description("Construction with MediaView")] - [Property("SPEC", "Tizen.Multimedia.Display.Display C")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "CONSTR")] - [Property("COVPARAM", "MediaView")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void Display_WITH_MEDIA_VIEW() - { - try - { - new Display(new MediaView(new ElmSharp.Window("Test window"))); - } - catch (NotSupportedException e) - { - if (FeatureChecker.IsSupported(Features.RawVideo)) - { - Assert.Fail($"Invalid NotSupportedException; {e.Message}"); - } - } - } - - [Test] - [Category("P1")] - [Description("Construction with Window")] - [Property("SPEC", "Tizen.Multimedia.Display.Display C")] - [Property("SPEC_URL", "-")] - [Property("CRITERIA", "CONSTR")] - [Property("COVPARAM", "Window")] - [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] - public void Display_WITH_WINDOW() - { - Assert.That(() => new Display(new ElmSharp.Window("Test window")), Throws.Nothing); - } - } -} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/TSDisplay.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/TSDisplay.cs new file mode 100644 index 000000000..a98d4359f --- /dev/null +++ b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/TSDisplay.cs @@ -0,0 +1,55 @@ +// Copyright 2020 by Samsung Electronics, Inc., +// +// This software is the confidential and proprietary information +// of Samsung Electronics, Inc. ("Confidential Information"). You +// shall not disclose such Confidential Information and shall use +// it only in accordance with the terms of the license agreement +// you entered into with Samsung. + +using NUnit.Framework; +using System; +using Tizen.Multimedia; + +namespace Tizen.Multimedia.UI.Tests +{ + [TestFixture] + [Description("Tests Tizen.Multimedia.Display class")] + public class DisplayTests + { + [Test] + [Category("P1")] + [Description("Construction with MediaView")] + [Property("SPEC", "Tizen.Multimedia.Display.Display C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTR")] + [Property("COVPARAM", "MediaView")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void Display_WITH_MEDIA_VIEW() + { + try + { + new Display(new MediaView(new ElmSharp.Window("Test window"))); + } + catch (NotSupportedException e) + { + if (FeatureChecker.IsSupported(Features.RawVideo)) + { + Assert.Fail($"Invalid NotSupportedException; {e.Message}"); + } + } + } + + [Test] + [Category("P1")] + [Description("Construction with Window")] + [Property("SPEC", "Tizen.Multimedia.Display.Display C")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "CONSTR")] + [Property("COVPARAM", "Window")] + [Property("AUTHOR", "JungHo Kim, jhyo.kim@samsung.com")] + public void Display_WITH_WINDOW() + { + Assert.That(() => new Display(new ElmSharp.Window("Test window")), Throws.Nothing); + } + } +} \ No newline at end of file diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/CameraTestBase.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/CameraTestBase.cs deleted file mode 100644 index 1a3d60702..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/CameraTestBase.cs +++ /dev/null @@ -1,92 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using ElmSharp; -using NUnit.Framework; -using System; -using System.Linq; - -namespace Tizen.Multimedia.UI.Tests -{ - public class CameraTestBase - { - public static Camera TestCamera { get; private set; } - - [SetUp] - public void SetUpBase() - { - try - { - TestCamera = new Camera(CameraDevice.Rear); - TestCamera.Settings.PreviewPixelFormat = TestCamera.Capabilities.SupportedPreviewPixelFormats.FirstOrDefault(); - } - catch (NotSupportedException) when (FeatureChecker.IsSupported(Features.PrimaryCamera) == false) - { - Assert.Pass("Camera feature is not supported."); - } - - /// Default test window type is overlay. - try - { - TestCamera.Display = new Display(CreateWindow()); - } - catch (NotSupportedException) - { - Assert.Pass("Overlay display type is not supported."); - } - catch - { - Assert.Fail("Set display for overlay type is failed."); - } - } - - [TearDown] - public void TearDownBase() - { - if (TestCamera != null) - { - if (TestCamera.State == CameraState.Captured) - { - TestCamera.StartPreview(); - TestCamera.StopPreview(); - } - else if (TestCamera.State == CameraState.Preview) - { - TestCamera.StopPreview(); - } - - TestCamera?.Dispose(); - } - } - - internal static bool IsSupportedSecondaryCamera() - { - return FeatureChecker.IsSupported(Features.SecondaryCamera); - } - - internal static Window CreateWindow() - { - var w = new Window(""); - w.Resize(100, 100); - w.Realize(null); - return w; - } - - public static Display CameraOverlayDisplay = new Display(CreateWindow()); - - public static Display CameraSurfaceDisplay = new Display(new MediaView(CreateWindow())); - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Constants.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Constants.cs deleted file mode 100644 index 8cd019bb3..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Constants.cs +++ /dev/null @@ -1,34 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -namespace Tizen.Multimedia.UI.Tests -{ - internal static class Constants - { - internal const int AudioLength = 33384; - - internal const string AudioFilePath = "/opt/usr/home/owner/share/res/test.mp3"; - internal const string PushFilePath = "/opt/usr/home/owner/share/res/test.h264"; // no pts - internal const string VideoFilePath = "/opt/usr/home/owner/share/res/test_meta.mp4"; - internal const string SphericalVideoPath = "/opt/usr/home/owner/share/res/test_360.mp4"; - - internal const string StreamChangedTestFilePath = "/opt/usr/home/owner/share/res/test_drc_640x480_320x240.ts"; - - internal static readonly MediaUriSource AudioFileSource = new MediaUriSource(AudioFilePath); - internal static readonly MediaUriSource VideoFileSource = new MediaUriSource(VideoFilePath); - internal static readonly MediaUriSource SphericalVideoSource = new MediaUriSource(SphericalVideoPath); - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Features.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Features.cs index 66a7588ce..05472ead0 100644 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Features.cs +++ b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/Features.cs @@ -18,14 +18,6 @@ namespace Tizen.Multimedia.UI.Tests { internal static class Features { - internal const string PrimaryCamera = "http://tizen.org/feature/camera"; - internal const string SecondaryCamera = "http://tizen.org/feature/camera.front"; internal const string RawVideo = "http://tizen.org/feature/multimedia.raw_video"; - - internal const string AudioEffect = "http://tizen.org/feature/multimedia.custom_audio_effect"; - internal const string StreamInfo = "http://tizen.org/feature/multimedia.player.stream_info"; - internal const string OpenGl = "http://tizen.org/feature/opengles.version.2_0"; - internal const string SphericalVideo = "http://tizen.org/feature/multimedia.player.spherical_video"; - internal const string AudioOffload = "http://tizen.org/feature/multimedia.player.audio_offload"; } } diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerNetworkConnection.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerNetworkConnection.cs deleted file mode 100644 index e2f82e0b7..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerNetworkConnection.cs +++ /dev/null @@ -1,77 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework; -using NUnit.Framework.TUnit; -using Tizen.System; -using System; -using Tizen.Network.Connection; -using Tizen.Network.WiFi; - -namespace Tizen.Multimedia.UI.Tests -{ - internal static class NetworkConncetion - { - private static bool IsSupportable - { - get - { - Information.TryGetValue("http://tizen.org/feature/network.wifi", out bool isWiFiSupported); - Information.TryGetValue("http://tizen.org/feature/network.telephony", out bool isTelephonySupported); - Information.TryGetValue("http://tizen.org/feature/network.ethernet", out bool isEthernetSupported); - - LogUtils.Write(LogUtils.INFO, LogUtils.TAG, - $"Wifi:{isWiFiSupported}, Telephony:{isTelephonySupported}, Ethernet:{isEthernetSupported}"); - - return isWiFiSupported | isTelephonySupported | isEthernetSupported; - } - } - - public static void Check() - { - if (!IsSupportable) - { - Assert.Fail("Networks are not supported."); - } - - if (ConnectionState.Connected == ConnectionManager.WiFiState) - { - WiFiAP WifiAp = WiFiManager.GetConnectedAP(); - if (WifiAp != null) - { - LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "WifiAp : " + WifiAp.NetworkInformation.Essid.ToString()); - WifiAp.Dispose(); - } - - try - { - var data = ConnectionManager.GetStatistics(ConnectionType.WiFi, StatisticsType.TotalReceivedData); - LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "TotalReceivedData : " + data); - if (data == 0) - Assert.Fail("TotalReceivedData should not be 0."); - } - catch (Exception ex) - { - Assert.Fail("Failed to get connection statistics. : " + ex.ToString()); - } - } - else - { - LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Wifi is not connected. Maybe another network is being used."); - } - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerPreconditionUtil.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerPreconditionUtil.cs deleted file mode 100644 index 2a0969baf..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerPreconditionUtil.cs +++ /dev/null @@ -1,106 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using NUnit.Framework.TUnit; -using System; -using System.IO; - -namespace Tizen.Multimedia.UI.Tests -{ - public class MediaPlayerPreconditionUtils - { - public static string STREAMING_URI = null; - public static string ADAPTIVE_STREAMING_URI = null; - - public static void SetPrecondition() - { - string result = ReadFile("/opt/usr/home/owner/share/tct/preconfigure.json"); - int index = 0; - string[] resultArray = StringParser(result); - - if (resultArray == null) - { - LogUtils.Write(LogUtils.ERROR, LogUtils.TAG, "StringParser failed " + result); - return; - } - - foreach (string item in resultArray) - { - switch (item) - { - case "STREAMING_URI": - // Remove backslash - resultArray[index + 1] = resultArray[index + 1].Replace("\\", ""); - STREAMING_URI = resultArray[index + 1]; - break; - case "ADAPTIVE_STREAMING_URL": - resultArray[index + 1] = resultArray[index + 1].Replace("\\", ""); - ADAPTIVE_STREAMING_URI = resultArray[index + 1]; - break; - default: - break; - } - index++; - } - } - - private static string ReadFile(string path) - { - string result = null; - string url = path; - StreamReader reader = null; - - try - { - reader = File.OpenText(path); - result = reader.ReadToEnd(); - } - catch (Exception e) - { - LogUtils.Write(LogUtils.ERROR, LogUtils.TAG, "File read error : " + e.Message); - } - finally - { - if (reader != null) - { - reader.Dispose(); - } - } - return result; - } - private static string[] StringParser(string TCID) - { - TCID = TCID.Replace(": \"", ":\""); - TCID = TCID.Replace(" ", ""); - TCID = TCID.Replace("\n", ""); - TCID = TCID.Replace("\n", ""); - - string[] delimiter = { "[{\"", "\":\"", "\",\"", "\":", ",\"", "\"}]", "}" }; - string[] stringPieces = null; - - try - { - stringPieces = TCID.Split(delimiter, StringSplitOptions.None); - } - catch (Exception e) - { - LogUtils.Write(LogUtils.ERROR, LogUtils.TAG, "ResultParser : " + e.Message); - } - - return stringPieces; - } - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerTestBase.cs b/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerTestBase.cs deleted file mode 100644 index e84b2b39c..000000000 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/testcase/support/MediaPlayerTestBase.cs +++ /dev/null @@ -1,118 +0,0 @@ -/* -* Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -using ElmSharp; -using NUnit.Framework; -using NUnit.Framework.TUnit; -using System; -using System.Threading.Tasks; - -namespace Tizen.Multimedia.UI.Tests -{ - public class MediaPlayerTestBase - { - public Player TestPlayer { get; private set; } - - [SetUp] - public void SetUpBase() - { - TestPlayer = new Player(); - } - - [TearDown] - public void TearDownBase() - { - TestPlayer.Dispose(); - } - - protected Player GetIdlePlayer() - { - TestPlayer.Unprepare(); - - return TestPlayer; - } - - internal async Task PreparePlayerAsync() - { - PlayerError? error = null; - - EventHandler errorHandler = (s, e) => error = e.Error; - - TestPlayer.ErrorOccurred += errorHandler; - - try - { - await TestPlayer.PrepareAsync(); - } - catch - { - if (error != null) - { - string msg = $"Failed to prepare the player. Error : { error }."; - - LogUtils.Write(LogUtils.DEBUG, LogUtils.TAG, msg); - throw new Exception(msg); - } - throw; - } - finally - { - TestPlayer.ErrorOccurred -= errorHandler; - } - } - - protected async Task GetPreparedPlayer(MediaSource source = null, Display display = null) - { - // reset source - TestPlayer.SetSource(null); - - TestPlayer.SetSource(source ?? Constants.AudioFileSource); - TestPlayer.Display = display; - - await PreparePlayerAsync(); - - return TestPlayer; - } - - protected async Task GetPlayingPlayer(MediaSource source = null, Display display = null) - { - await GetPreparedPlayer(source, display); - - TestPlayer.Start(); - - return TestPlayer; - } - - protected async Task GetPausedPlayer(MediaSource source = null, Display display = null) - { - await GetPlayingPlayer(source, display); - - TestPlayer.Pause(); - - return TestPlayer; - } - - internal static Window CreateWindow() - { - var w = new Window(""); - w.Resize(100, 100); - w.Realize(null); - return w; - } - - public static Display DefaultDisplay = new Display(CreateWindow()); - } -} diff --git a/tct-suite-vs/Tizen.Multimedia.UI.Tests/tizen-manifest.xml b/tct-suite-vs/Tizen.Multimedia.UI.Tests/tizen-manifest.xml index ad9ed96b9..06e54fd29 100644 --- a/tct-suite-vs/Tizen.Multimedia.UI.Tests/tizen-manifest.xml +++ b/tct-suite-vs/Tizen.Multimedia.UI.Tests/tizen-manifest.xml @@ -11,8 +11,6 @@ - http://tizen.org/privilege/internet http://tizen.org/privilege/appmanager.launch - http://tizen.org/privilege/network.get diff --git a/tool/script/tct-testconfig/tct-testconfig.ini b/tool/script/tct-testconfig/tct-testconfig.ini index 13dfa5934..1d75d2cd2 100755 --- a/tool/script/tct-testconfig/tct-testconfig.ini +++ b/tool/script/tct-testconfig/tct-testconfig.ini @@ -55,7 +55,7 @@ MESSAGES_MOBILE_NUMBER=You should write only number. Do NOT write - or () STREAMING_URI = set the uri in here. ex>http://www.samsung.com/xx/xx/aa.mp4 ADAPTIVE_STREAMING_URL = set the url in here -# Multimedia.UI test key settings -[Tizen.Multimedia.UI.Tests] +# MediaPlayer.UI test key settings +[Tizen.MediaPlayer.UI.Tests] STREAMING_URI = set the uri in here. ex>http://www.samsung.com/xx/xx/aa.mp4 ADAPTIVE_STREAMING_URL = set the url in here diff --git a/tool/script/tct-testconfig/tests.xml b/tool/script/tct-testconfig/tests.xml index b1fe4a2ce..f94f5d634 100755 --- a/tool/script/tct-testconfig/tests.xml +++ b/tool/script/tct-testconfig/tests.xml @@ -381,8 +381,8 @@ The tct-bt-helper is included in the tct-bluetooth-tizen-tests package. Install - - + +