From 96d3542b55be18c5070cd0dadafe58dad6427b00 Mon Sep 17 00:00:00 2001 From: "wenfeng.ge" Date: Mon, 12 Nov 2018 08:40:00 +0800 Subject: [PATCH] [NUI][Non-ACR][Update manual TCTS for Tizen.NUI] Change-Id: I4f69ab0b3c30c2729bcafba1266a47af62f6c3d4 Signed-off-by: wenfeng.ge --- .../code/WidgetViewSample/WidgetViewSample.cs | 17 + .../WidgetViewWearableSample.cs | 17 + .../org.tizen.example.WidgetViewSample-1.0.0.tpk | Bin 25113 -> 25544 bytes ...izen.example.WidgetViewWearableSample-1.0.0.tpk | Bin 24338 -> 24787 bytes .../testcase/TSFocusManager.cs | 41 ++ .../Tizen.NUI.Manual.Tests/testcase/TSPopup.cs | 139 ++++++ .../Tizen.NUI.Manual.Tests/testcase/TSSlider.cs | 181 ++++++++ .../Tizen.NUI.Manual.Tests/testcase/TSTouch.cs | 487 +++++++++++++++++++++ .../Tizen.NUI.Manual.Tests/testcase/TSView.cs | 108 ++++- .../testcase/TSWidgetView.cs | 37 ++ .../Tizen.NUI.Manual.Tests/testcase/TSWindow.cs | 107 ++++- 11 files changed, 1122 insertions(+), 12 deletions(-) create mode 100755 tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSPopup.cs create mode 100755 tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSSlider.cs create mode 100755 tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSTouch.cs diff --git a/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewSample/WidgetViewSample.cs b/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewSample/WidgetViewSample.cs index ac755b5..a278fcc 100755 --- a/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewSample/WidgetViewSample.cs +++ b/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewSample/WidgetViewSample.cs @@ -223,6 +223,23 @@ namespace WidgetViewSample Tizen.Log.Fatal("NUIWidget", "widget view LoadingText: " + _widgetView.LoadingText); if (_widgetView.LoadingText == true) { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Pass"); } else { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Fail"); } + PropertyMap retryText = new PropertyMap(); + retryText.Add("stateText", new PropertyValue("RetryTextTest")); + _widgetView.RetryText = retryText; + Tizen.Log.Fatal("NUIWidget", "widget view set retryText: RetryTextTest"); + + PropertyMap getRetryText = _widgetView.RetryText; + if (getRetryText != null) { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Pass"); } + else { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Fail"); } + + PropertyMap effect = new PropertyMap(); + retryText.Add("shader", new PropertyValue("ShaderText")); + _widgetView.Effect = effect; + Tizen.Log.Fatal("NUIWidget", "widget view set effect: ShaderText"); + + PropertyMap getEffect = _widgetView.Effect; + if (getEffect != null) { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Pass"); } + else { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Fail"); } AddEventHandler(); } diff --git a/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewWearableSample/WidgetViewWearableSample.cs b/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewWearableSample/WidgetViewWearableSample.cs index ca20961..14c2763 100755 --- a/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewWearableSample/WidgetViewWearableSample.cs +++ b/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/code/WidgetViewWearableSample/WidgetViewWearableSample.cs @@ -181,6 +181,23 @@ namespace WidgetViewSample Tizen.Log.Fatal("NUIWidget", "widget view LoadingText: " + _widgetView.LoadingText); if (_widgetView.LoadingText == true) { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Pass"); } else { Tizen.Log.Error("TCT", "[TestCase][LoadingText][WidgetView] Fail"); } + PropertyMap retryText = new PropertyMap(); + retryText.Add("stateText", new PropertyValue("RetryTextTest")); + _widgetView.RetryText = retryText; + Tizen.Log.Fatal("NUIWidget", "widget view set retryText: RetryTextTest"); + + PropertyMap getRetryText = _widgetView.RetryText; + if (getRetryText != null) { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Pass"); } + else { Tizen.Log.Error("TCT", "[TestCase][RetryText][WidgetView] Fail"); } + + PropertyMap effect = new PropertyMap(); + retryText.Add("shader", new PropertyValue("ShaderText")); + _widgetView.Effect = effect; + Tizen.Log.Fatal("NUIWidget", "widget view set effect: ShaderText"); + + PropertyMap getEffect = _widgetView.Effect; + if (getEffect != null) { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Pass"); } + else { Tizen.Log.Error("TCT", "[TestCase][Effect][WidgetView] Fail"); } AddEventHandler(); } diff --git a/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/org.tizen.example.WidgetViewSample-1.0.0.tpk b/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/org.tizen.example.WidgetViewSample-1.0.0.tpk index 757cbd4e7abe437a6acb205c19f64c1002a4be86..84279759df3356bcc5e766c2de8fb1e01eb19900 100755 GIT binary patch delta 14686 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 diff --git a/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/org.tizen.example.WidgetViewWearableSample-1.0.0.tpk b/tct-suite-vs/Resource/Tizen.NUI.Manual.Tests/org.tizen.example.WidgetViewWearableSample-1.0.0.tpk index 80d68b3888196a057b34fcbce3a76750cd2dc4b0..4bc1ab7bc054255dcb3eab967a7c302a15bc7619 100755 GIT binary patch delta 13858 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 #PSZdf>Q>da%@G_>Qn;0FB=U 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 delta 13422 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 1000) + { + _PointSize = 20.0f; + } + if (ManualTest.IsWearable()) + { + _PointSize = 2.0f; + _label = ManualTest.CreateLabel("This case is unsuitable for wearable, please press PASS button to continue!"); + _wearTestPage = WearableManualTestNUI.GetInstance(); + } + else + { + _testPage = ManualTestNUI.GetInstance(); + } + } + + [TearDown] + public void Destroy() + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Postconditions for each TEST"); + } + + private PropertyMap CreateTextMap(float pointSize, string text) + { + PropertyMap map = new PropertyMap(); + map.Insert("visualType", new PropertyValue("TEXT")); + map.Insert("pointSize", new PropertyValue(pointSize)); + map.Insert("text", new PropertyValue(text)); + return map; + } + + private void CreateView(string information) + { + _button = new PushButton(); + _button.Label = CreateTextMap(_PointSize, information); + + _testPage.ExecuteTC(_button); + } + + public void OnPopupEvent(object sender, EventArgs e) + { + Tizen.Log.Fatal("NUI", "Popup event !!!!!"); + ManualTest.Confirm(); + _window.Remove(_popup); + } + + [Test] + [Category("P1")] + [Description("Test: Handle event TouchedOutside.")] + [Property("SPEC", "Tizen.NUI.UIComponents.Popup.TouchedOutside E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "Connect the mouse to the TV (TM-1 don't need)")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch window outside of dialog or click mouse out of dialog(on TV).")] + [Step(4, "If your touch or click outside the dialog, TC will pass")] + [Postcondition(1, "NA")] + public async Task TouchedOutside_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Touch or click outside of Popup"); + _popup = new Popup() + { + Size2D = new Size2D(100, 100), + BackgroundColor = Color.Magenta, + Focusable = true, + HeightResizePolicy = ResizePolicyType.Fixed, + WidthResizePolicy = ResizePolicyType.Fixed, + TooltipText = "This is a popup", + AnimationDuration = 0.0f, + DisplayState = Popup.DisplayStateType.Shown + }; + + _popup.TouchedOutside += OnPopupEvent; + _window.Add(_popup); + + _popup.Show(); + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _popup.TouchedOutside -= OnPopupEvent; + _testPage.ClearTestCase(_button); + } + } + } +} + + + diff --git a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSSlider.cs b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSSlider.cs new file mode 100755 index 0000000..a1e0c77 --- /dev/null +++ b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSSlider.cs @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2017 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 System.Threading.Tasks; +using NUnit.Framework; +using NUnit.Framework.TUnit; +using Tizen.NUI; +using Tizen.NUI.UIComponents; +using Tizen.NUI.BaseComponents; + +namespace Tizen.NUI.Tests +{ + [TestFixture] + [Description("Tizen.NUI.UIComponents.Slider test")] + public class SliderTests + { + private static ManualTestNUI _testPage; + private static WearableManualTestNUI _wearTestPage; + private static Window _window; + private static PushButton _button; + private static float _PointSize = 5.0f; + private static TextLabel _label; + private static Slider _slider; + + [SetUp] + public void Init() + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Preconditions for each TEST"); + _window = Window.Instance; + if (Window.Instance.Size.Width > 1000) + { + _PointSize = 20.0f; + } + if (ManualTest.IsWearable()) + { + _PointSize = 2.0f; + _label = ManualTest.CreateLabel("This case is unsuitable for wearable, please press PASS button to continue!"); + _wearTestPage = WearableManualTestNUI.GetInstance(); + } + else + { + _testPage = ManualTestNUI.GetInstance(); + } + } + + [TearDown] + public void Destroy() + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Postconditions for each TEST"); + } + + private PropertyMap CreateTextMap(float pointSize, string text) + { + PropertyMap map = new PropertyMap(); + map.Insert("visualType", new PropertyValue("TEXT")); + map.Insert("pointSize", new PropertyValue(pointSize)); + map.Insert("text", new PropertyValue(text)); + return map; + } + + private void CreateView(string information) + { + _button = new PushButton(); + _button.Label = CreateTextMap(_PointSize, information); + + _testPage.ExecuteTC(_button); + } + + public bool OnSliderEvent(object sender, EventArgs e) + { + Tizen.Log.Fatal("NUI", "Slider event !!!!!"); + ManualTest.Confirm(); + _window.Remove(_slider); + return true; + } + + [Test] + [Category("P1")] + [Description("Test: Handle event MarkReached.")] + [Property("SPEC", "Tizen.NUI.UIComponents.Slider.MarkReached E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Sliding the slider to marked position(1/5,2/5 or 3/5).")] + [Step(4, "TC will pass after reaching the mark position")] + [Postcondition(1, "NA")] + public async Task MarkReached_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Press Key-Down"); + _slider = new Slider() + { + Size2D = new Size2D(500, 300), + Position2D = new Position2D(610, 150), + BackgroundColor = Color.Magenta, + Focusable = true, + }; + _slider.LowerBound = 1.0f; + _slider.UpperBound = 5.0f; + _window.Add(_slider); + PropertyArray marks = new PropertyArray(); + marks.Add(new PropertyValue(1)); + marks.Add(new PropertyValue(2)); + marks.Add(new PropertyValue(3)); + _slider.Marks = marks; + _slider.MarkReached += OnSliderEvent; + + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _slider.MarkReached -= OnSliderEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle event SlidingFinished.")] + [Property("SPEC", "Tizen.NUI.UIComponents.Slider.SlidingFinished E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "Connect the mouse to the TV (TM-1 don't need)")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch or use mouse(on TV) to drag the slider.")] + [Step(4, "When you stop sliding, TC will pass")] + [Postcondition(1, "NA")] + public async Task SlidingFinished_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Press Key-Down"); + _slider = new Slider() + { + Size2D = new Size2D(500, 300), + Position2D = new Position2D(610, 150), + BackgroundColor = Color.Magenta, + Focusable = true, + }; + + _window.Add(_slider); + _slider.SlidingFinished += OnSliderEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _slider.SlidingFinished -= OnSliderEvent; + _testPage.ClearTestCase(_button); + } + } + } +} + + + diff --git a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSTouch.cs b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSTouch.cs new file mode 100755 index 0000000..9509c92 --- /dev/null +++ b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSTouch.cs @@ -0,0 +1,487 @@ +/* + * Copyright (c) 2017 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 System.Threading.Tasks; +using NUnit.Framework; +using NUnit.Framework.TUnit; +using Tizen.NUI; +using Tizen.NUI.UIComponents; +using Tizen.NUI.BaseComponents; + +namespace Tizen.NUI.Tests +{ + [TestFixture] + [Description("Tizen.NUI.Touch test")] + public class TouchTests + { + private static ManualTestNUI _testPage; + private static WearableManualTestNUI _wearTestPage; + private static Window _window; + private static PushButton _button; + private static float _PointSize = 5.0f; + private static TextLabel _label; + + [SetUp] + public void Init() + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Preconditions for each TEST"); + _window = Window.Instance; + if (Window.Instance.Size.Width > 1000) + { + _PointSize = 20.0f; + } + if (ManualTest.IsWearable()) + { + _PointSize = 2.0f; + _label = ManualTest.CreateLabel("This case is unsuitable for wearable, please press PASS button to continue!"); + _wearTestPage = WearableManualTestNUI.GetInstance(); + } + else + { + _testPage = ManualTestNUI.GetInstance(); + } + } + + [TearDown] + public void Destroy() + { + LogUtils.Write(LogUtils.INFO, LogUtils.TAG, "Postconditions for each TEST"); + } + + private PropertyMap CreateTextMap(float pointSize, string text) + { + PropertyMap map = new PropertyMap(); + map.Insert("visualType", new PropertyValue("TEXT")); + map.Insert("pointSize", new PropertyValue(pointSize)); + map.Insert("text", new PropertyValue(text)); + return map; + } + + private void CreateView(string information) + { + _button = new PushButton(); + _button.Label = CreateTextMap(_PointSize, information); + + _testPage.ExecuteTC(_button); + } + + public void OnTouchEventGetDeviceId(object sender, Window.TouchEventArgs e) + { + int id = e.Touch.GetDeviceId(0); + if (id >= 0) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetEllipseRadius(object sender, Window.TouchEventArgs e) + { + Vector2 radius = e.Touch.GetEllipseRadius(0); + if (radius.Height >= 0 && radius.Width >= 0) + { + ManualTest.Confirm(); + } + } + + public bool OnTouchEventGetHitView(object sender, View.TouchEventArgs e) + { + View Hit = e.Touch.GetHitView(0); + if (Hit != null) + { + ManualTest.Confirm(); + _window.Remove(_label); + } + return true; + } + + public void OnTouchEventGetLocalPosition(object sender, Window.TouchEventArgs e) + { + Vector2 pos = e.Touch.GetLocalPosition(0); + if (pos.X >= 0 && pos.Y >= 0) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetPointCount(object sender, Window.TouchEventArgs e) + { + uint count = e.Touch.GetPointCount(); + if (count > 0) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetPressure(object sender, Window.TouchEventArgs e) + { + float pressure = e.Touch.GetPressure(0); + if (pressure > 0) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetRadius(object sender, Window.TouchEventArgs e) + { + float radius = e.Touch.GetRadius(0); + if (radius > 0) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetScreenPosition(object sender, Window.TouchEventArgs e) + { + Vector2 screenPos = e.Touch.GetScreenPosition(0); + if (screenPos.X > 0 && screenPos.Y > 0) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetState(object sender, Window.TouchEventArgs e) + { + PointStateType type = e.Touch.GetState(0); + if (type == PointStateType.Motion) + { + ManualTest.Confirm(); + } + } + + public void OnTouchEventGetTime(object sender, Window.TouchEventArgs e) + { + uint time = e.Touch.GetTime(); + if (time > 0) + { + ManualTest.Confirm(); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetDeviceId.")] + [Property("SPEC", "Tizen.NUI.Touch.GetDeviceId E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetDeviceId_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetDeviceId; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetDeviceId; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetEllipseRadius.")] + [Property("SPEC", "Tizen.NUI.Touch.GetEllipseRadius E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetEllipseRadius_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetEllipseRadius; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetEllipseRadius; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetHitView.")] + [Property("SPEC", "Tizen.NUI.Touch.GetHitView E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetHitView_RETURN_VALUE() + { + CreateView("Touch or click"); + _label = new TextLabel() + { + Size2D = new Size2D(500, 156), + Position2D = new Position2D(100, 300), + BackgroundColor = Color.Green, + PointSize = 28, + Focusable = true, + Text = "default" + }; + _window.Add(_label); + _label.TouchEvent += OnTouchEventGetHitView; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _label.TouchEvent -= OnTouchEventGetHitView; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetLocalPosition.")] + [Property("SPEC", "Tizen.NUI.Touch.GetLocalPosition E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetLocalPosition_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetLocalPosition; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetLocalPosition; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetPointCount.")] + [Property("SPEC", "Tizen.NUI.Touch.GetPointCount E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetPointCount_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetPointCount; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetPointCount; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetPressure.")] + [Property("SPEC", "Tizen.NUI.Touch.GetPressure E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetPressure_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetPressure; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetPressure; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetRadius.")] + [Property("SPEC", "Tizen.NUI.Touch.GetRadius E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetRadius_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetRadius; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetRadius; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetScreenPosition.")] + [Property("SPEC", "Tizen.NUI.Touch.GetScreenPosition E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetScreenPosition_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetScreenPosition; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetScreenPosition; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetState.")] + [Property("SPEC", "Tizen.NUI.Touch.GetState E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetState_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetState; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetState; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: method GetTime.")] + [Property("SPEC", "Tizen.NUI.Touch.GetTime E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task GetTime_RETURN_VALUE() + { + CreateView("Touch or click"); + _window.TouchEvent += OnTouchEventGetTime; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnTouchEventGetTime; + _testPage.ClearTestCase(_button); + if (ManualTest.IsWearable()) + { + _wearTestPage.ClearTestCase(_button); + } + else + { + _testPage.ClearTestCase(_button); + } + } + } +} + + + diff --git a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSView.cs b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSView.cs index 8c8a5b0..5950d17 100755 --- a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSView.cs +++ b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSView.cs @@ -79,9 +79,9 @@ namespace Tizen.NUI.Tests _testPage.ExecuteTC(_button); } - public static bool OnKeyEvent(object sender, EventArgs e) + public static bool OnViewEvent(object sender, EventArgs e) { - Tizen.Log.Fatal("NUI", "TUnit KeyEvent!!!!!!!!!!!!!!!!!!!!!"); + Tizen.Log.Fatal("NUI", "TUnit View.Event!!!!!!!!!!!!!!!!!!!!!"); ManualTest.Confirm(); return false; } @@ -89,7 +89,7 @@ namespace Tizen.NUI.Tests [Test] [Category("P1")] [Description("Test: Handle event input a key. Try to input a key to trigger the event.")] - [Property("SPEC", "Tizen.NUI.BaseComponents.View.Key E")] + [Property("SPEC", "Tizen.NUI.BaseComponents.View.KeyEvent E")] [Property("SPEC_URL", "-")] [Property("CRITERIA", "EVL")] [Property("AUTHOR", "Feng Jin, feng16.jin@samsung.com")] @@ -97,7 +97,7 @@ namespace Tizen.NUI.Tests [Step(1, "Click run TC")] [Step(2, "Press Key-Down while the button is focusd")] [Postcondition(1, "NA")] - public async Task Key_CB() + public async Task KeyEvent_CB() { if (ManualTest.IsWearable()) { @@ -108,10 +108,106 @@ namespace Tizen.NUI.Tests else { CreateView("Press Key-Down"); - _button.KeyEvent += OnKeyEvent; + _button.KeyEvent += OnViewEvent; // Waits for user confirmation. await ManualTest.WaitForConfirm(); - _button.KeyEvent -= OnKeyEvent; + _button.KeyEvent -= OnViewEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle HoverEvent.")] + [Property("SPEC", "Tizen.NUI.BaseComponents.View.HoverEvent E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Precondition(1, "Prepare Bluetooth keyboard and connect to TM1. In case of Emulator, only use PC keyboard or remote controller of emulator itself. Please never use touch or mouse click even for push run button or next button. Must use only keyboard or remote controller! because this is key test.")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Move mouse and hover over the button.")] + [Step(4, "TC will pass after hovering.")] + [Postcondition(1, "NA")] + public async Task HoverEvent_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Hover me"); + _button.HoverEvent += OnViewEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _button.HoverEvent -= OnViewEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle event input a key. Try to input a key to trigger the event.")] + [Property("SPEC", "Tizen.NUI.BaseComponents.View.TouchEvent E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Precondition(1, "If test on TV, prepare mouse and connect to TV.")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task TouchEvent_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Touch or click me"); + _button.TouchEvent += OnViewEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _button.TouchEvent -= OnViewEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle WheelEvent. Try to wheel mouse to trigger the event.")] + [Property("SPEC", "Tizen.NUI.BaseComponents.View.WheelEvent E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Precondition(1, "Prepare mouse and connect to TV or TM1.")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Sliding mouse wheel when on button .")] + [Step(4, "TC will pass after Sliding mouse wheel.")] + [Postcondition(1, "NA")] + public async Task WheelEvent_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Sliding mouse wheel on here"); + _button.WheelEvent += OnViewEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _button.WheelEvent -= OnViewEvent; _testPage.ClearTestCase(_button); } } diff --git a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWidgetView.cs b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWidgetView.cs index 3a89136..f26e51e 100755 --- a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWidgetView.cs +++ b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWidgetView.cs @@ -480,5 +480,42 @@ namespace Tizen.NUI.Tests await ManualTest.WaitForConfirm(); } + [Test] + [Category("P1")] + [Description("MANUAL TEST : Effect should have proper value")] + [Property("SPEC", "Tizen.NUI.WidgetView.Effect M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")] + [Precondition(1, "Open terminal to view logs")] + [Precondition(2, "Enter command \"sdb dlog -c\" to clear log")] + [Precondition(3, "Enter command \"sdb dlog | grep TestCase\" to terminal")] + [Step(1, "Click run TC.")] + [Step(2, "Move Focus to Add button and click.")] + [Step(3, "Check if log show \"[TestCase][Effect][WidgetView] Pass\".")] + [Postcondition(1, "Close the terminal")] + public async Task Effect_MANUAL_TEST() + { + await ManualTest.WaitForConfirm(); + } + + [Test] + [Category("P1")] + [Description("MANUAL TEST : RetryText should have proper value")] + [Property("SPEC", "Tizen.NUI.WidgetView.RetryText M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "Xianbing Teng, xb.teng@samsung.com")] + [Precondition(1, "Open terminal to view logs")] + [Precondition(2, "Enter command \"sdb dlog -c\" to clear log")] + [Precondition(3, "Enter command \"sdb dlog | grep TestCase\" to terminal")] + [Step(1, "Click run TC.")] + [Step(2, "Move Focus to Add button and click.")] + [Step(3, "Check if log show \"[TestCase][RetryText][WidgetView] Pass\".")] + [Postcondition(1, "Close the terminal")] + public async Task RetryText_MANUAL_TEST() + { + await ManualTest.WaitForConfirm(); + } } } diff --git a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWindow.cs b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWindow.cs index eb83721..ffc6bf1 100755 --- a/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWindow.cs +++ b/tct-suite-vs/Tizen.NUI.Manual.Tests/testcase/TSWindow.cs @@ -80,16 +80,16 @@ namespace Tizen.NUI.Tests _testPage.ExecuteTC(_button); } - public static void OnKeyEvent(object sender, EventArgs e) + public static void OnWindowEvent(object sender, EventArgs e) { - Tizen.Log.Fatal("NUI", "TUnit Key!!!!!!!!!!!!!!!!!!!!!"); + Tizen.Log.Fatal("NUI", "TUnit Window.Event!!!!!!!!!!!!!!!!!!!!!"); ManualTest.Confirm(); } [Test] [Category("P1")] [Description("Test: Handle event input a key.")] - [Property("SPEC", "Tizen.NUI.Window.Key E")] + [Property("SPEC", "Tizen.NUI.Window.KeyEvent E")] [Property("SPEC_URL", "-")] [Property("CRITERIA", "EVL")] [Property("AUTHOR", "Feng Jin, feng16.jin@samsung.com")] @@ -97,7 +97,7 @@ namespace Tizen.NUI.Tests [Step(1, "Click run TC")] [Step(2, "Press Key-Down while the button is focusd")] [Postcondition(1, "NA")] - public async Task Key_CB() + public async Task KeyEvent_CB() { if (ManualTest.IsWearable()) { @@ -108,10 +108,105 @@ namespace Tizen.NUI.Tests else { CreateView("Press Key-Down"); - _window.KeyEvent += OnKeyEvent; + _window.KeyEvent += OnWindowEvent; // Waits for user confirmation. await ManualTest.WaitForConfirm(); - _window.KeyEvent -= OnKeyEvent; + _window.KeyEvent -= OnWindowEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle event focus changed.")] + [Property("SPEC", "Tizen.NUI.Window.FocusChanged E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Precondition(1, "")] + [Step(1, "Click run TC")] + [Step(2, "Press smarthub button in remote controller.")] + [Step(3, "Press return button return to TCT page, the TC will pass.")] + [Postcondition(1, "NA")] + public async Task FocusChanged_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Press Key-Down"); + _window.FocusChanged += OnWindowEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.FocusChanged -= OnWindowEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle event TouchEvent.")] + [Property("SPEC", "Tizen.NUI.Window.TouchEvent E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Precondition(1, "If test on TV, prepare mouse and connect to TV.")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Touch the window. If on the TV, click left mouse button.")] + [Step(4, "TC will pass after touch or click.")] + [Postcondition(1, "NA")] + public async Task TouchEvent_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Touch or click me"); + _window.TouchEvent += OnWindowEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.TouchEvent -= OnWindowEvent; + _testPage.ClearTestCase(_button); + } + } + + [Test] + [Category("P1")] + [Description("Test: Handle event WheelEvent.")] + [Property("SPEC", "Tizen.NUI.Window.WheelEvent E")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "EVL")] + [Property("AUTHOR", "Wenfeng Ge, wenfeng.ge@samsung.com")] + [Precondition(1, "")] + [Step(1, "If test on TV, connect the mouse to the TV")] + [Step(2, "Click run button to run TC")] + [Step(3, "Sliding mouse wheel.")] + [Step(4, "TC will pass after Sliding mouse wheel.")] + [Postcondition(1, "NA")] + public async Task WheelEvent_CB() + { + if (ManualTest.IsWearable()) + { + _wearTestPage.ExecuteTC(_label); + await ManualTest.WaitForConfirm(); + _wearTestPage.ClearTestCase(_label); + } + else + { + CreateView("Sliding mouse wheel on window"); + _window.WheelEvent += OnWindowEvent; + // Waits for user confirmation. + await ManualTest.WaitForConfirm(); + _window.WheelEvent -= OnWindowEvent; _testPage.ClearTestCase(_button); } } -- 2.7.4