PlatformDataTransferItemTests.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System.Threading.Tasks;
  2. using Avalonia.Input;
  3. using Avalonia.Input.Platform;
  4. using Xunit;
  5. namespace Avalonia.Base.UnitTests.Input;
  6. public sealed class PlatformDataTransferItemTests
  7. {
  8. [Fact]
  9. public void TryGetRaw_Should_Return_Null_When_Format_Is_Unknown()
  10. {
  11. var format = DataFormat.CreateBytesApplicationFormat("test-format");
  12. var item = new TestPlatformDataTransferItem([]);
  13. var value = item.TryGetRaw(format);
  14. Assert.Null(value);
  15. }
  16. [Fact]
  17. public void TryGetRaw_Should_Return_Expected_Value_When_Format_Is_Known()
  18. {
  19. var format = DataFormat.CreateBytesApplicationFormat("test-format");
  20. var item = new TestPlatformDataTransferItem([format]);
  21. var value = item.TryGetRaw(format);
  22. Assert.Same(format, value);
  23. }
  24. [Fact]
  25. public async Task TryGetRawAsync_Should_Return_Null_When_Format_Is_Unknown()
  26. {
  27. var format = DataFormat.CreateBytesApplicationFormat("test-format");
  28. var item = new TestPlatformDataTransferItem([]);
  29. var value = await item.TryGetRawAsync(format);
  30. Assert.Null(value);
  31. }
  32. [Fact]
  33. public async Task TryGetRawAsync_Should_Return_Expected_Value_When_Format_Is_Known()
  34. {
  35. var format = DataFormat.CreateBytesApplicationFormat("test-format");
  36. var item = new TestPlatformDataTransferItem([format]);
  37. var value = await item.TryGetRawAsync(format);
  38. Assert.Same(format, value);
  39. }
  40. private sealed class TestPlatformDataTransferItem(DataFormat[] dataFormats) : PlatformDataTransferItem
  41. {
  42. protected override DataFormat[] ProvideFormats()
  43. => dataFormats;
  44. protected override object TryGetRawCore(DataFormat format)
  45. => format;
  46. }
  47. }