--- /dev/null
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.271
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentBasedSample", "ComponentBasedSample\ComponentBasedSample.csproj", "{C955F741-9309-4E92-9A44-1BD7A5F6E150}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C955F741-9309-4E92-9A44-1BD7A5F6E150}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C955F741-9309-4E92-9A44-1BD7A5F6E150}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C955F741-9309-4E92-9A44-1BD7A5F6E150}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C955F741-9309-4E92-9A44-1BD7A5F6E150}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {069F0BE7-F1B6-407F-939A-80C2C93BA0A5}
+ EndGlobalSection
+EndGlobal
--- /dev/null
+/*
+ * Copyright (c) 2019 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 Tizen;
+using Tizen.Applications.ComponentBased.Default;
+using System.Collections.Generic;
+
+namespace ComponentBasedSample
+{
+ class Program
+ {
+ private static string LogTag = "ComponentBasedSample";
+
+ static void Main(string[] args)
+ {
+ Log.Info(LogTag, "Main()");
+ Dictionary<Type, string> _typeInfo = new Dictionary<Type, string>();
+ _typeInfo.Add(typeof(FrameComponentSample), "org.example.frame-component");
+ _typeInfo.Add(typeof(ServiceComponentSample), "org.example.service-component");
+ _typeInfo.Add(typeof(ServiceComponentSample2), "org.example.bg-service-component");
+ var app = new EFLComponentBasedApplication(_typeInfo);
+ app.Run(args);
+ }
+ }
+}
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFramework>netcoreapp2.0</TargetFramework>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>portable</DebugType>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>None</DebugType>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <Folder Include="lib\" />
+ <Folder Include="res\" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Tizen.NET" Version="6.0.0.14916">
+ <ExcludeAssets>Runtime</ExcludeAssets>
+ </PackageReference>
+ <PackageReference Include="Tizen.NET.Sdk" Version="1.0.1" />
+ </ItemGroup>
+
+</Project>
+
--- /dev/null
+/*
+ * Copyright (c) 2019 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;
+using Tizen.Applications;
+using Tizen.Applications.ComponentBased.Common;
+using Tizen.Applications.ComponentBased.Default;
+
+namespace ComponentBasedSample
+{
+ public class FrameComponentSample : FrameComponent
+ {
+ private static string LogTag = "ComponentBasedSample";
+
+ public override IWindowInfo CreateWindowInfo()
+ {
+ Log.Info(LogTag, "CreateWindowInfo()");
+ ElmSharp.Window elmSharpWindow = new ElmSharp.Window("Frame-Component");
+ EFLWindowInfo eflWindowInfo = new EFLWindowInfo(elmSharpWindow);
+ return eflWindowInfo;
+ }
+
+ public override bool OnCreate()
+ {
+ Log.Info(LogTag, "OnCreate() " + ComponentId);
+ return true;
+ }
+
+ public override void OnStart(AppControl appControl, bool restarted)
+ {
+ Log.Info(LogTag, "OnStart()");
+ base.OnStart(appControl, restarted);
+ }
+
+ public override void OnResume()
+ {
+ Log.Info(LogTag, "OnResume()");
+ base.OnResume();
+ }
+
+ public override void OnPause()
+ {
+ Log.Info(LogTag, "OnPause()");
+ base.OnPause();
+ }
+
+ public override void OnStop()
+ {
+ Log.Info(LogTag, "OnStop()");
+ base.OnStop();
+ }
+
+ public override void OnDestroy()
+ {
+ Log.Info(LogTag, "OnDestroy()");
+ base.OnDestroy();
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2019 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;
+using Tizen.Applications;
+using Tizen.Applications.ComponentBased.Common;
+
+namespace ComponentBasedSample
+{
+ public class ServiceComponentSample : ServiceComponent
+ {
+ private static string LogTag = "ComponentBasedSample";
+
+ public override bool OnCreate()
+ {
+ Log.Info(LogTag, "OnCreate() " + ComponentId);
+ return true;
+ }
+
+ public override void OnStartCommand(AppControl appControl, bool restarted)
+ {
+ base.OnStartCommand(appControl, restarted);
+ Log.Info(LogTag, "OnStartCommand()");
+ }
+
+ public override void OnDestroy()
+ {
+ base.OnDestroy();
+ Log.Info(LogTag, "OnDestroy()");
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2019 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;
+using Tizen.Applications;
+using Tizen.Applications.ComponentBased.Common;
+
+namespace ComponentBasedSample
+{
+ public class ServiceComponentSample2 : ServiceComponent
+ {
+ private static string LogTag = "ComponentBasedSample";
+
+ public override bool OnCreate()
+ {
+ Log.Info(LogTag, "OnCreate() " + ComponentId);
+ return true;
+ }
+
+ public override void OnStartCommand(AppControl appControl, bool restarted)
+ {
+ base.OnStartCommand(appControl, restarted);
+ Log.Info(LogTag, "OnStartCommand()");
+ }
+
+ public override void OnDestroy()
+ {
+ base.OnDestroy();
+ Log.Info(LogTag, "OnDestroy()");
+ }
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="6" package="org.tizen.example.ComponentBasedSample" version="1.0.0">
+ <profile name="common" />
+ <component-based-application appid="org.tizen.example.ComponentBasedSample"
+ exec="ComponentBasedSample.dll"
+ type="dotnet"
+ multiple="false"
+ taskmanage="false"
+ nodisplay="true">
+ <label>ComponentBasedSample</label>
+ <icon>ComponentBasedSample.png</icon>
+ <metadata key="http://tizen.org/metadata/prefer_dotnet_aot" value="true" />
+ <frame-component id="org.example.frame-component" taskmanage="true" icon-display="true" main="true">
+ <label>FrameComponentSample</label>
+ <icon>FrameComponentSample.png</icon>
+ </frame-component>
+ <service-component id="org.example.service-component" main="false">
+ <label>ServiceComponentSample</label>
+ </service-component>
+ </component-based-application>
+ <component-based-application appid="org.tizen.example.ComponentBasedSample2"
+ exec="ComponentBasedSample.dll"
+ type="dotnet"
+ multiple="false"
+ taskmanage="true"
+ nodisplay="false"
+ launch_mode="single">
+ <label>ComponentBasedSample2</label>
+ <icon>ComponentBasedSample2.png</icon>
+ <metadata key="http://tizen.org/metadata/prefer_dotnet_aot" value="true" />
+ <service-component id="org.example.bg-service-component" main="true">
+ <label>BGServiceComponentSample</label>
+ </service-component>
+ </component-based-application>
+</manifest>
--- /dev/null
+/*
+ * Copyright (c) 2019 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.Platform.Tizen.Forms.Init(app);
+ app.Run(args);
+ }
+ }
+}
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <!-- Property Group for .NET Core Project -->
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFramework>tizen60</TargetFramework>
+ </PropertyGroup>
+
+ <!-- Property Group for Tizen Project -->
+ <PropertyGroup>
+ <TizenCreateTpkOnBuild>true</TizenCreateTpkOnBuild>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>portable</DebugType>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>None</DebugType>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <Folder Include="lib\" />
+ </ItemGroup>
+
+ <Import Project="..\Common\dependencies.props" />
+
+ <ItemGroup>
+ <PackageReference Include="Tizen.NET" Version="6.0.0.14916">
+ <ExcludeAssets>Runtime</ExcludeAssets>
+ </PackageReference>
+ <PackageReference Include="Tizen.NET.Sdk" Version="$(TizenNETSdkVersion)" />
+ </ItemGroup>
+
+ <!-- Include Nuget Package for Tizen Project building -->
+ <ItemGroup>
+ <ProjectReference Include="..\Template\AutoTemplate\AutoTemplate.csproj" />
+ </ItemGroup>
+
+</Project>
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 15\r
+VisualStudioVersion = 15.0.26730.15\r
+MinimumVisualStudioVersion = 15.0.26124.0\r
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.ComponentBased.ComponentManager.Tests", "Tizen.Applications.ComponentBased.ComponentManager.Tests.csproj", "{D92BEEAC-3B2A-45F8-8C53-53B92550404A}"\r
+EndProject\r
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunit.framework", "..\nunit.framework\nunit.framework.csproj", "{B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}"\r
+EndProject\r
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunitlite", "..\nunitlite\nunitlite.csproj", "{FDB8025A-C029-461F-895E-287B4C65939B}"\r
+EndProject\r
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTemplate", "..\Template\AutoTemplate\AutoTemplate.csproj", "{B11ABB0C-C3C1-4B5C-8251-A15628A775F3}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Any CPU = Debug|Any CPU\r
+ Debug|x64 = Debug|x64\r
+ Debug|x86 = Debug|x86\r
+ Release|Any CPU = Release|Any CPU\r
+ Release|x64 = Release|x64\r
+ Release|x86 = Release|x86\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x64.ActiveCfg = Debug|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x64.Build.0 = Debug|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x86.ActiveCfg = Debug|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Debug|x86.Build.0 = Debug|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x64.ActiveCfg = Release|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x64.Build.0 = Release|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x86.ActiveCfg = Release|Any CPU\r
+ {D92BEEAC-3B2A-45F8-8C53-53B92550404A}.Release|x86.Build.0 = Release|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x64.ActiveCfg = Debug|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x64.Build.0 = Debug|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x86.ActiveCfg = Debug|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Debug|x86.Build.0 = Debug|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x64.ActiveCfg = Release|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x64.Build.0 = Release|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x86.ActiveCfg = Release|Any CPU\r
+ {B9E7C1FD-CB38-42F7-AC43-7BD2E5B4D216}.Release|x86.Build.0 = Release|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x64.ActiveCfg = Debug|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x64.Build.0 = Debug|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x86.ActiveCfg = Debug|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Debug|x86.Build.0 = Debug|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x64.ActiveCfg = Release|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x64.Build.0 = Release|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x86.ActiveCfg = Release|Any CPU\r
+ {FDB8025A-C029-461F-895E-287B4C65939B}.Release|x86.Build.0 = Release|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x64.ActiveCfg = Debug|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x64.Build.0 = Debug|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x86.ActiveCfg = Debug|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Debug|x86.Build.0 = Debug|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x64.ActiveCfg = Release|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x64.Build.0 = Release|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x86.ActiveCfg = Release|Any CPU\r
+ {B11ABB0C-C3C1-4B5C-8251-A15628A775F3}.Release|x86.Build.0 = Release|Any CPU\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+ GlobalSection(ExtensibilityGlobals) = postSolution\r
+ SolutionGuid = {ED382B91-9930-40B6-B3D7-362304C78680}\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+/*
+ * Copyright (c) 2019 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.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tizen;
+
+namespace Tizen.Applications.ComponentBased.Tests
+{
+ [TestFixture]
+ [Description("Tizen.Applications.ComponentBased.ComponentInfo Tests")]
+ public class TSComponentInfocs
+ {
+ private const string LogTag = "ComponentManager.Tests";
+ private const string CompoId = "org.example.frame-component";
+ private const string ServiceCompoId = "org.example.service-component";
+ private const string AppId = "org.tizen.example.ComponentBasedSample";
+ private const string IconPath = "shared/res/FrameComponentSample.png";
+ private const string CompoLabel = "FrameComponentSample";
+ private const string CompoLocalizedLabel = "FrameComponentSample";
+ private ComponentInfo _compoInfo;
+ private ComponentInfo _svcCompoInfo;
+
+ [SetUp]
+ public void Init()
+ {
+ Log.Debug(LogTag, "Preconditions for each TEST");
+ _compoInfo = new ComponentInfo(CompoId);
+ _svcCompoInfo = new ComponentInfo(ServiceCompoId);
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ Log.Debug(LogTag, "Postconditions for each TEST");
+ _compoInfo = null;
+ _svcCompoInfo = null;
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test ComponentInfo method initialization")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.ComponentInfo C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ [Property("CONVPARAM", "string")]
+ public void ComponentInfo_INIT()
+ {
+ Log.Debug(LogTag, "START");
+ var compoInfo = new ComponentInfo(CompoId);
+ Assert.IsInstanceOf<ComponentInfo>(compoInfo);
+ Assert.AreEqual(compoInfo.ComponentId, CompoId, "Component ID should be same " + CompoId);
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P2")]
+ [Description("Test ComponentInfo method initialization with invalid argument")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.ComponentInfo C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTX")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ [Property("CONVPARAM", "string")]
+ public void ComponentInfo_CHECK_ArgumentException()
+ {
+ Log.Debug(LogTag, "START");
+ try
+ {
+ var compoInfo = new ComponentInfo("Unknown component");
+ }
+ catch (ArgumentException)
+ {
+ Assert.Pass();
+ }
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property ComponentId of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.ComponentId A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void ComponentId_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(CompoId, _compoInfo.ComponentId, "Component ID(" + _compoInfo.ComponentId + ") is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property ApplicationId of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.ApplicationId A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void ApplicationId_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(AppId, _compoInfo.ApplicationId, "Application ID(" + _compoInfo.ApplicationId + ") is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property ComponentType of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.ComponentType A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void ComponentType_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(ComponentType.Frame, _compoInfo.ComponentType, "Component Type(" + _compoInfo.ComponentType + ") is not correct");
+ Assert.AreEqual(ComponentType.Service, _svcCompoInfo.ComponentType, "Component Type(" + _svcCompoInfo.ComponentType + ") is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property IsIconDisplayed of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.IsIconDisplayed A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void IsIconDisplayed_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.IsTrue(_compoInfo.IsIconDisplayed, "Component should be displayed on the home screen");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property IsManagedByTaskManager of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.IsManagedByTaskManager A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void IsManagedByTaskManager_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.IsTrue(_compoInfo.IsManagedByTaskManager, "Component should be managed by task-manager");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property IconPath of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.IconPath A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void IconPath_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.IsTrue(_compoInfo.IconPath.Contains(IconPath), "Icon path(" + _compoInfo.IconPath + ") is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property Label of ComponentInfo")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.Label A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void Label_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(CompoLabel, _compoInfo.Label, "Label(" + _compoInfo.Label + ") is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Get localized label.")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentInfo.GetLocalizedLabel M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MR")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void GetLocalizedLabel_RETURN_VALUE()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(CompoLabel, _compoInfo.Label, "Label of " + CompoId + " is not correct");
+ Assert.AreEqual(CompoLabel, _compoInfo.GetLocalizedLabel("en-gb"), "GetLocalizedLabel with key is en-gb should be work normally");
+ Assert.AreEqual(CompoLocalizedLabel, _compoInfo.GetLocalizedLabel("ko-kr"), "GetLocalizedLabel with key is ko-kr should be work normally");
+ Log.Debug(LogTag, "END");
+ }
+ }
+}
--- /dev/null
+/*\r
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License\r
+ */\r
+\r
+using NUnit.Framework;\r
+using NUnit.Framework.TUnit;\r
+using System;\r
+using System.Collections.Generic;\r
+using System.Threading;\r
+using System.Threading.Tasks;\r
+using Tizen;\r
+\r
+namespace Tizen.Applications.ComponentBased.Tests\r
+{\r
+ [TestFixture]\r
+ [Description("Tizen.Applications.ComponentBased.ComponentManager Tests")]\r
+ public class ComponentManagerTests\r
+ {\r
+ private const string LogTag = "ComponentManager.Tests";\r
+ private IEnumerable<ComponentInfo> _listCompo;\r
+ private IEnumerable<ComponentRunningContext> _listCompoRun;\r
+ private const string AppId = "org.tizen.example.ComponentBasedSample2";\r
+ private const string CompoId = "org.example.bg-service-component";\r
+ private bool _flag;\r
+\r
+ [SetUp]\r
+ public void Init()\r
+ {\r
+ Log.Debug(LogTag, "Preconditions for each TEST");\r
+ _flag = false;\r
+\r
+ bool isRunning = ComponentManager.IsRunning(CompoId);\r
+ if (!isRunning)\r
+ {\r
+ AppControl appControl = new AppControl();\r
+ appControl.ApplicationId = AppId;\r
+ appControl.ComponentId = CompoId;\r
+ appControl.Operation = AppControlOperations.Default;\r
+ AppControl.SendLaunchRequest(appControl);\r
+ Thread.Sleep(5000);\r
+ }\r
+ }\r
+\r
+ [TearDown]\r
+ public void Destroy()\r
+ {\r
+ Log.Debug(LogTag, "Postconditions for each TEST");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test: Get the information of all installed components asynchronously.")]\r
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentManager.GetInstalledComponentsAsync M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public async Task GetInstalledComponentsAsync_GET_ALL_COMPO()\r
+ {\r
+ Log.Debug(LogTag, "START");\r
+ _listCompo = await ComponentManager.GetInstalledComponentsAsync();\r
+ Assert.IsNotEmpty(_listCompo, "The list of installed components should not be empty.");\r
+ foreach (ComponentInfo inst in _listCompo)\r
+ {\r
+ if (string.Equals(inst.ComponentId, CompoId))\r
+ {\r
+ _flag = true;\r
+ break;\r
+ }\r
+ }\r
+ Assert.True(_flag, "Could not find the given component in list of installed components.");\r
+ Log.Debug(LogTag, "END");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test: Get the information of all running components asynchronously.")]\r
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentManager.GetRunningComponentsAsync M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public async Task GetRunningComponentsAsync_All_RUNNING_COMPO()\r
+ {\r
+ Log.Debug(LogTag, "START");\r
+ _listCompoRun = await ComponentManager.GetRunningComponentsAsync();\r
+ Assert.IsNotEmpty(_listCompoRun, "The list of running components should not be empty.");\r
+ foreach (ComponentRunningContext context in _listCompoRun)\r
+ {\r
+ if (string.Equals(context.ComponentId, CompoId))\r
+ {\r
+ _flag = true;\r
+ break;\r
+ }\r
+ }\r
+ Assert.True(_flag, "Could not find the given component in list of running components.");\r
+ Log.Debug(LogTag, "END");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test: Check whether the component is running or not.")]\r
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentManager.IsRunning M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ [Property("CONVPARAM", "string")]\r
+ public void IsRunning_RETURN_VALUE()\r
+ {\r
+ Log.Debug(LogTag, "START");\r
+ Assert.True(ComponentManager.IsRunning(CompoId), CompoId + " should be running");\r
+ Log.Debug(LogTag, "END");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test: Verify the component state with null argument.")]\r
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentManager.IsRunning M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ [Property("CONVPARAM", "string")]\r
+ public void IsRunning_CHECK_ArgumentException()\r
+ {\r
+ Log.Debug(LogTag, "START");\r
+ try\r
+ {\r
+ bool isRunning = ComponentManager.IsRunning(null);\r
+ }\r
+ catch (ArgumentException)\r
+ {\r
+ Assert.Pass();\r
+ }\r
+ Log.Debug(LogTag, "END");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P1")]\r
+ [Description("Test: Terminate a running service component in the background.")]\r
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentManager.TerminateBackgroundComponent M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MR")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public async Task TerminateBackgroundComponent_TERMINATE_BG_COMPO()\r
+ {\r
+ Log.Debug(LogTag, "START");\r
+ ComponentRunningContext context = null;\r
+\r
+ try\r
+ {\r
+ context = new ComponentRunningContext(CompoId);\r
+ Assert.AreNotEqual(null, context, "context should not be null");\r
+ Assert.IsInstanceOf<ComponentRunningContext>(context, "context should be ComponentRunningContext");\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ Assert.Fail("Failed to get running context. " + e.ToString());\r
+ }\r
+\r
+ ComponentManager.TerminateBackgroundComponent(context);\r
+ await Task.Delay(5000);\r
+\r
+ Assert.True(context.IsTerminated, CompoId + " should be terminated");\r
+ Log.Debug(LogTag, "END");\r
+ }\r
+\r
+ [Test]\r
+ [Category("P2")]\r
+ [Description("Test: Terminate a running service component with null argument")]\r
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentManager.TerminateBackgroundComponent M")]\r
+ [Property("SPEC_URL", "-")]\r
+ [Property("CRITERIA", "MEX")]\r
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]\r
+ public void TerminateBackgroundComponent_CHECK_ArgumentException()\r
+ {\r
+ Log.Debug(LogTag, "START");\r
+ try\r
+ {\r
+ ComponentManager.TerminateBackgroundComponent(null);\r
+ }\r
+ catch (ArgumentException)\r
+ {\r
+ Assert.Pass();\r
+ }\r
+ Log.Debug(LogTag, "END");\r
+ }\r
+ }\r
+}\r
--- /dev/null
+/*
+ * Copyright (c) 2019 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.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Tizen.Applications.ComponentBased.Tests
+{
+ [TestFixture]
+ [Description("Tizen.Applications.ComponentBased.ComponentRunningContext Tests")]
+ public class ComponentRunningContextTests
+ {
+ private const string LogTag = "ComponentManager.Tests";
+ private const string AppId = "org.tizen.example.ComponentBasedSample";
+ private const string CompoId = "org.example.frame-component";
+ private ComponentRunningContext _context;
+
+ [SetUp]
+ public void Init()
+ {
+ Log.Debug(LogTag, "Preconditions for each TEST");
+ bool isRunning = ComponentManager.IsRunning(CompoId);
+ if (!isRunning)
+ {
+ AppControl appControl = new AppControl();
+ appControl.ApplicationId = AppId;
+ appControl.ComponentId = CompoId;
+ AppControl.SendLaunchRequest(appControl);
+ Thread.Sleep(5000);
+ }
+
+ _context = new ComponentRunningContext(CompoId);
+ }
+
+ [TearDown]
+ public void Destroy()
+ {
+ Log.Debug(LogTag, "Postconditions for each TEST");
+ _context = null;
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test ComponentRunningContext method initialization")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.ComponentRunningContext C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTR")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ [Property("CONVPARAM", "string")]
+ public void ComponentRunningContext_INIT()
+ {
+ Log.Debug(LogTag, "START");
+ var context = new ComponentRunningContext(CompoId);
+ Assert.AreNotEqual(context, null, "Should return ComponentRunningContext instance.");
+ Assert.IsInstanceOf<ComponentRunningContext>(context, "context should be ComponentRunningContext.");
+ Assert.AreEqual(context.ComponentId, CompoId, "Component ID should be same " + CompoId);
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P2")]
+ [Description("Test ComponentRunningContext method initialization with invalid argument")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.ComponentRunningContext C")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "CONSTX")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ [Property("CONVPARAM", "string")]
+ public void ComponentRunningContext_CHECK_ArgumentException()
+ {
+ Log.Debug(LogTag, "START");
+ try
+ {
+ var context = new ComponentRunningContext("Not Running");
+ }
+ catch (ArgumentException)
+ {
+ Assert.Pass();
+ }
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property ComponentId of ComponentRunningContext")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.ComponentId A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void ComponentId_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(CompoId, _context.ComponentId, "Component ID is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property ApplicationId of ComponentRunningContext")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.ApplicationId A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void ApplicationId_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreEqual(AppId, _context.ApplicationId, "Application ID is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property InstanceId of ComponentRunningContext")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.InstanceId A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void InstanceId_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreNotEqual(_context.InstanceId, null, "Instance ID is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property State of ComponentRunningContext")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.State A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void State_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.AreNotEqual(_context.State, ComponentRunningContext.ComponentState.Initialized, "Component State is not correct");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property IsTerminated of ComponentRunningContext")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.IsTerminated A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void IsTerminated_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.False(_context.IsTerminated, "Component should not be terminated");
+ Log.Debug(LogTag, "END");
+ }
+
+
+ [Test]
+ [Category("P1")]
+ [Description("Test property IsSubComponent of ComponentRunningContext")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.IsSubComponent A")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "PRO")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void IsSubComponent_GET()
+ {
+ Log.Debug(LogTag, "START");
+ Assert.False(_context.IsSubComponent, "Running Component should not be runnnig as a sub component of app group");
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P1")]
+ [Description("Resume the running frame component.")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.Resume M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MR")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void Resume_FrameComponent()
+ {
+ Log.Debug(LogTag, "START");
+ try
+ {
+ _context.Resume();
+ }
+ catch (Exception e)
+ {
+ Assert.Fail("Component should be resumed. " + e.ToString());
+ }
+ Log.Debug(LogTag, "END");
+ }
+
+ [Test]
+ [Category("P2")]
+ [Description("Test: Resume the running frame component with invalid argument")]
+ [Property("SPEC", "Tizen.Applications.ComponentBased.ComponentRunningContext.Resume M")]
+ [Property("SPEC_URL", "-")]
+ [Property("CRITERIA", "MEX")]
+ [Property("AUTHOR", "Hwankyu Jhun, h.jhun@samsung.com")]
+ public void Resume_CHECK_ArgumentException()
+ {
+ Log.Debug(LogTag, "START");
+ // PreCondition: Terminate running context
+ ComponentManager.TerminateBackgroundComponent(_context);
+ Thread.Sleep(5000);
+
+ try
+ {
+ _context.Resume();
+ }
+ catch (ArgumentException)
+ {
+ Assert.Pass();
+ }
+ Log.Debug(LogTag, "END");
+ }
+ }
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<manifest package="Tizen.Applications.ComponentBased.ComponentManager.Tests" version="1.0.0" api-version="6" xmlns="http://tizen.org/ns/packages">
+ <profile name="common" />
+ <ui-application appid="Tizen.Applications.ComponentBased.ComponentManager.Tests" exec="Tizen.Applications.ComponentBased.ComponentManager.Tests.dll" multiple="false" taskmanage="true" type="dotnet" launch_mode="single">
+ <icon>Tizen.Applications.ComponentBased.ComponentManager.Tests.png</icon>
+ <label>Tizen.Applications.ComponentBased.ComponentManager.Tests</label>
+ <splash-screens />
+ </ui-application>
+ <shortcut-list />
+ <privileges>
+ <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+ <privilege>http://tizen.org/privilege/appmanager.kill.bgapp</privilege>
+ <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+ </privileges>
+ <provides-appdefined-privileges />
+</manifest>