XamlXClassResolverTests.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System.Threading;
  2. using System.Threading.Tasks;
  3. using Avalonia.Generators.Common;
  4. using Avalonia.Generators.Compiler;
  5. using Avalonia.Generators.Tests.Views;
  6. using Xunit;
  7. namespace Avalonia.Generators.Tests;
  8. public class XamlXClassResolverTests
  9. {
  10. [Theory]
  11. [InlineData("Sample.App", "NamedControl", View.NamedControl)]
  12. [InlineData("Sample.App", "AttachedProps", View.AttachedProps)]
  13. [InlineData("Sample.App", "CustomControls", View.CustomControls)]
  14. [InlineData("Sample.App", "DataTemplates", View.DataTemplates)]
  15. [InlineData("Sample.App", "FieldModifier", View.FieldModifier)]
  16. [InlineData("Sample.App", "NamedControls", View.NamedControls)]
  17. [InlineData("Sample.App", "NoNamedControls", View.NoNamedControls)]
  18. [InlineData("Sample.App", "SignUpView", View.SignUpView)]
  19. [InlineData("Sample.App", "xNamedControl", View.XNamedControl)]
  20. [InlineData("Sample.App", "xNamedControls", View.XNamedControls)]
  21. [InlineData("Sample.App", "ViewWithGenericBaseView", View.ViewWithGenericBaseView)]
  22. public async Task Should_Resolve_Base_Class_From_Xaml_File(string nameSpace, string className, string markup)
  23. {
  24. var xaml = await View.Load(markup);
  25. var resolver = new XamlXViewResolver(MiniCompiler.CreateNoop());
  26. var resolvedClass = resolver.ResolveView(xaml, CancellationToken.None);
  27. Assert.NotNull(resolvedClass);
  28. Assert.Equal(className, resolvedClass.ClassName);
  29. Assert.Equal(nameSpace, resolvedClass.Namespace);
  30. }
  31. }