UriExtensionsTests.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. using Avalonia.Platform.Storage.FileIO;
  3. using Avalonia.Utilities;
  4. using Xunit;
  5. namespace Avalonia.Base.UnitTests.Utilities;
  6. public class UriExtensionsTests
  7. {
  8. [Fact]
  9. public void Assembly_Name_From_Query_Parsed()
  10. {
  11. const string key = "assembly";
  12. const string value = "Avalonia.Themes.Simple";
  13. var uri = new Uri($"resm:Avalonia.Themes.Simple.Accents.BaseLight.xaml?{key}={value}");
  14. var name = uri.GetAssemblyNameFromQuery();
  15. Assert.Equal(value, name);
  16. }
  17. [Fact]
  18. public void Assembly_Name_From_Empty_Query_Not_Parsed()
  19. {
  20. var uri = new Uri("resm:Avalonia.Themes.Simple.Accents.BaseLight.xaml");
  21. var name = uri.GetAssemblyNameFromQuery();
  22. Assert.Equal(string.Empty, name);
  23. }
  24. [Theory]
  25. [InlineData("/home/Projects.txt")]
  26. [InlineData("/home/Stahování/Požární kniha 2.txt")]
  27. [InlineData("C:\\%51.txt")]
  28. [InlineData("/home/asd#xcv.txt")]
  29. [InlineData("C:\\\\Work\\Projects.txt")]
  30. public void Should_Convert_File_Path_To_Uri_And_Back(string path)
  31. {
  32. var uri = StorageProviderHelpers.FilePathToUri(path);
  33. Assert.Equal(path, uri.LocalPath);
  34. }
  35. }