ClipboardControllerTests.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. using System.IO;
  2. using System.Linq;
  3. using System.Windows;
  4. using System.Windows.Media;
  5. using System.Windows.Media.Imaging;
  6. using PixiEditor.Models.Controllers;
  7. using PixiEditor.Models.DataHolders;
  8. using PixiEditor.Models.Layers;
  9. using PixiEditor.Models.Position;
  10. using SkiaSharp;
  11. using Xunit;
  12. namespace PixiEditorTests.ModelsTests.ControllersTests
  13. {
  14. public class ClipboardControllerTests
  15. {
  16. //private const string Text = "Text data";
  17. //private readonly SKColor testColor = new SKColor(223, 20, 52);
  18. //[StaFact]
  19. //public void TestThatClipboardControllerIgnoresNonImageDataInClipboard()
  20. //{
  21. // Clipboard.Clear();
  22. // Clipboard.SetText(Text);
  23. // Surface img = ClipboardController.GetImagesFromClipboard();
  24. // Assert.Null(img);
  25. //}
  26. //[StaFact]
  27. //public void TestThatIsImageInClipboardWorksForDib()
  28. //{
  29. // Clipboard.Clear();
  30. // Clipboard.SetImage(BitmapFactory.New(10, 10));
  31. // Assert.True(ClipboardController.IsImageInClipboard());
  32. //}
  33. //[StaFact]
  34. //public void TestThatClipboardControllerSavesImageToClipboard()
  35. //{
  36. // Layer testLayer = new Layer("test layer", 10, 10);
  37. // ClipboardController.CopyToClipboard(new[] { testLayer }, CoordinatesCalculator.RectangleToCoordinates(0, 0, 9, 9).ToArray(), 10, 10);
  38. // Assert.True(ClipboardController.IsImageInClipboard());
  39. //}
  40. //[StaFact]
  41. //public void TestThatCopyToClipboardWithSelectionSavesCorrectBitmap()
  42. //{
  43. // Clipboard.Clear();
  44. // Layer testLayer = new Layer("test layer", 10, 10);
  45. // Layer testLayer2 = new Layer("test layer", 10, 10);
  46. // testLayer.SetPixel(new Coordinates(4, 4), testColor);
  47. // testLayer2.SetPixel(new Coordinates(5, 5), testColor);
  48. // ClipboardController.CopyToClipboard(
  49. // new[] { testLayer, testLayer2 },
  50. // new[] { new Coordinates(4, 4), new Coordinates(5, 5) },
  51. // 10,
  52. // 10);
  53. // BitmapSource img = Clipboard.GetImage(); // Using default Clipboard get image to avoid false positives from faulty ClipboardController GetImage
  54. // Assert.True(ClipboardController.IsImageInClipboard());
  55. // Assert.NotNull(img);
  56. // Assert.Equal(2, img.Width);
  57. // Assert.Equal(2, img.Height);
  58. // using Surface bmp = new Surface(new WriteableBitmap(img));
  59. // Assert.Equal(testColor, bmp.GetSRGBPixel(0, 0));
  60. // Assert.Equal(testColor, bmp.GetSRGBPixel(1, 1));
  61. //}
  62. //[StaFact]
  63. //public void TestThatClipboardControllerGetsCorrectImageInDibFormatFromClipboard()
  64. //{
  65. // Clipboard.Clear();
  66. // using Surface bmp = new Surface(10, 10);
  67. // bmp.SetSRGBPixel(4, 4, testColor);
  68. // Clipboard.SetImage(bmp.ToWriteableBitmap());
  69. // Surface img = ClipboardController.GetImagesFromClipboard();
  70. // Assert.NotNull(img);
  71. // Assert.Equal(10, img.Width);
  72. // Assert.Equal(10, img.Height);
  73. // Assert.Equal(testColor, bmp.GetSRGBPixel(4, 4));
  74. //}
  75. //[StaFact]
  76. //public void TestThatClipboardControllerGetsCorrectImageInPngFormatFromClipboard()
  77. //{
  78. // Clipboard.Clear();
  79. // using Surface bmp = new Surface(10, 10);
  80. // bmp.SetSRGBPixel(4, 4, testColor);
  81. // using (MemoryStream pngStream = new MemoryStream())
  82. // {
  83. // DataObject data = new DataObject();
  84. // PngBitmapEncoder encoder = new PngBitmapEncoder();
  85. // encoder.Frames.Add(BitmapFrame.Create(bmp.ToWriteableBitmap()));
  86. // encoder.Save(pngStream);
  87. // data.SetData("PNG", pngStream, false); // PNG, supports transparency
  88. // Clipboard.SetDataObject(data, true);
  89. // }
  90. // Surface img = ClipboardController.GetImagesFromClipboard();
  91. // Assert.NotNull(img);
  92. // Assert.Equal(10, img.Width);
  93. // Assert.Equal(10, img.Height);
  94. // Assert.Equal(testColor, bmp.GetSRGBPixel(4, 4));
  95. //}
  96. //[StaFact]
  97. //public void TestThatClipboardControllerGetsCorrectImageInBitmapFormatFromClipboard()
  98. //{
  99. // Clipboard.Clear();
  100. // using Surface bmp = new Surface(10, 10);
  101. // bmp.SetSRGBPixel(4, 4, testColor);
  102. // DataObject data = new DataObject();
  103. // data.SetData(DataFormats.Bitmap, bmp, false); // PNG, supports transparency
  104. // Clipboard.SetDataObject(data, true);
  105. // Surface img = ClipboardController.GetImagesFromClipboard();
  106. // Assert.NotNull(img);
  107. // Assert.Equal(10, img.Width);
  108. // Assert.Equal(10, img.Height);
  109. // Assert.Equal(testColor, bmp.GetSRGBPixel(4, 4));
  110. //}
  111. }
  112. }