From 1157c412a0bb7a0a6754fe4add9ab2801c17e83b Mon Sep 17 00:00:00 2001 From: "Eunki, Hong" Date: Wed, 18 Jan 2023 23:28:40 +0900 Subject: [PATCH] [NUI] Revert "Make PixelBuffer & PixelData as Disposable" Revert patch of PR #4897 This reverts commit 0e6528a5f7c4ae6523b8dd0c19b2c211c31178f3. --- src/Tizen.NUI/src/public/Images/PixelBuffer.cs | 2 +- src/Tizen.NUI/src/public/Images/PixelData.cs | 2 +- .../testcase/public/Images/TSImageLoader.cs | 98 ++++++++++++++++++++++ 3 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 test/Tizen.NUI.Devel.Tests.Ubuntu/Tizen.NUI.Devel.Tests/testcase/public/Images/TSImageLoader.cs diff --git a/src/Tizen.NUI/src/public/Images/PixelBuffer.cs b/src/Tizen.NUI/src/public/Images/PixelBuffer.cs index 38bfa06..efb90df 100755 --- a/src/Tizen.NUI/src/public/Images/PixelBuffer.cs +++ b/src/Tizen.NUI/src/public/Images/PixelBuffer.cs @@ -34,7 +34,7 @@ namespace Tizen.NUI /// 5 /// This will be released at Tizen.NET API Level 5. Therefore, currently this would be used as an in-house API. [EditorBrowsable(EditorBrowsableState.Never)] - public class PixelBuffer : Disposable + public class PixelBuffer : BaseHandle { /// diff --git a/src/Tizen.NUI/src/public/Images/PixelData.cs b/src/Tizen.NUI/src/public/Images/PixelData.cs index 64698e2..b488f5e 100755 --- a/src/Tizen.NUI/src/public/Images/PixelData.cs +++ b/src/Tizen.NUI/src/public/Images/PixelData.cs @@ -34,7 +34,7 @@ namespace Tizen.NUI /// 5 /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] - public class PixelData : Disposable + public class PixelData : BaseHandle { /// diff --git a/test/Tizen.NUI.Devel.Tests.Ubuntu/Tizen.NUI.Devel.Tests/testcase/public/Images/TSImageLoader.cs b/test/Tizen.NUI.Devel.Tests.Ubuntu/Tizen.NUI.Devel.Tests/testcase/public/Images/TSImageLoader.cs new file mode 100644 index 0000000..0a5eefa --- /dev/null +++ b/test/Tizen.NUI.Devel.Tests.Ubuntu/Tizen.NUI.Devel.Tests/testcase/public/Images/TSImageLoader.cs @@ -0,0 +1,98 @@ +using global::System; +using NUnit.Framework; +using NUnit.Framework.TUnit; +using Tizen.NUI; + +namespace Tizen.NUI.Devel.Tests +{ + using tlog = Tizen.Log; + + [TestFixture] + [Description("public/Images/ImageLoader")] + public class ImageLoaderTest + { + private const string tag = "NUITEST"; + private string image_path = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "Image.png"; + + [SetUp] + public void Init() + { + tlog.Info(tag, "Init() is called!"); + } + + [TearDown] + public void Destroy() + { + tlog.Info(tag, "Destroy() is called!"); + } + + [Test] + [Category("P1")] + [Description("ImageLoader LoadImageFromFile.")] + [Property("SPEC", "Tizen.NUI.ImageLoader.LoadImageFromFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void ImageLoaderLoadImageFromFile() + { + tlog.Debug(tag, $"ImageLoaderLoadImageFromFile START"); + + { + var testingTarget = ImageLoader.LoadImageFromFile(image_path); + Assert.IsNotNull(testingTarget, "Can't create success object PixelBuffer."); + Assert.IsInstanceOf(testingTarget, "Should return PixelBuffer instance."); + + Assert.AreEqual(false, PixelBuffer.ReferenceEquals(testingTarget, null), "Valid image's load result should not be null!"); + Assert.AreEqual(false, testingTarget == null, "Valid image's load result compare with null should be false!"); + Assert.AreEqual(true, (bool)testingTarget, "Valid image's load result bool operator should be true!"); + Assert.AreEqual(false, !testingTarget, "Valid image's load result not operator should be false!"); + + testingTarget.Dispose(); + } + + { + var testingTarget = ImageLoader.LoadImageFromFile("invalid.jpg"); + Assert.AreEqual(false, PixelBuffer.ReferenceEquals(testingTarget, null), "Invalid image's load result should not be null!"); + Assert.AreEqual(true, testingTarget == null, "Invalid image's load result compare with null should be true!"); + Assert.AreEqual(false, (bool)testingTarget, "Invalid image's load result bool operator should be false!"); + Assert.AreEqual(true, !testingTarget, "Invalid image's load result not operator should be true!"); + + testingTarget.Dispose(); + } + tlog.Debug(tag, $"ImageLoaderLoadImageFromFile END (OK)"); + } + + [Test] + [Category("P1")] + [Description("ImageLoader LoadImageFromFile. With Size.")] + [Property("SPEC", "Tizen.NUI.ImageLoader.LoadImageFromFile M")] + [Property("SPEC_URL", "-")] + [Property("CRITERIA", "MR")] + [Property("AUTHOR", "guowei.wang@samsung.com")] + public void ImageLoaderLoadImageFromFileWithSize() + { + tlog.Debug(tag, $"ImageLoaderLoadImageFromFileWithSize START"); + + using (Size2D size2d = new Size2D(NUIApplication.GetDefaultWindow().WindowSize.Width, NUIApplication.GetDefaultWindow().WindowSize.Height)) + { + var testingTarget = ImageLoader.LoadImageFromFile(image_path, size2d); + Assert.IsNotNull(testingTarget, "Can't create success object PixelBuffer."); + Assert.IsInstanceOf(testingTarget, "Should return PixelBuffer instance."); + + testingTarget.Dispose(); + } + + // size is null + try + { + var testingTarget = ImageLoader.LoadImageFromFile(image_path, null); + Assert.Fail("Didn't through exception. Failed!"); + } + catch (ArgumentNullException) + { + tlog.Debug(tag, $"ImageLoaderLoadImageFromFileWithSize END (OK)"); + Assert.Pass("Catch ArgumentNullException, Pass!"); + } + } + } +} -- 2.7.4