GlobPatternTests.cs 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. using Avalonia.Generators.Common;
  2. using Xunit;
  3. namespace Avalonia.Generators.Tests;
  4. public class GlobPatternTests
  5. {
  6. [Theory]
  7. [InlineData("*", "anything", true)]
  8. [InlineData("", "anything", false)]
  9. [InlineData("Views/*", "Views/SignUpView.xaml", true)]
  10. [InlineData("Views/*", "Extensions/SignUpView.xaml", false)]
  11. [InlineData("*SignUpView*", "Extensions/SignUpView.xaml", true)]
  12. [InlineData("*SignUpView.paml", "Extensions/SignUpView.xaml", false)]
  13. [InlineData("*.xaml", "Extensions/SignUpView.xaml", true)]
  14. public void Should_Match_Glob_Expressions(string pattern, string value, bool matches)
  15. {
  16. Assert.Equal(matches, new GlobPattern(pattern).Matches(value));
  17. }
  18. [Theory]
  19. [InlineData("Views/SignUpView.xaml", true, new[] { "*.xaml", "Extensions/*" })]
  20. [InlineData("Extensions/SignUpView.paml", true, new[] { "*.xaml", "Extensions/*" })]
  21. [InlineData("Extensions/SignUpView.paml", false, new[] { "*.xaml", "Views/*" })]
  22. [InlineData("anything", true, new[] { "*", "*" })]
  23. [InlineData("anything", false, new[] { "", "" })]
  24. public void Should_Match_Glob_Pattern_Groups(string value, bool matches, string[] patterns)
  25. {
  26. Assert.Equal(matches, new GlobPatternGroup(patterns).Matches(value));
  27. }
  28. }