ExportDiagnosticsTests.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. using Xunit;
  2. namespace Godot.SourceGenerators.Tests;
  3. public class ExportDiagnosticsTests
  4. {
  5. [Fact]
  6. public async void StaticMembers()
  7. {
  8. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  9. "ExportDiagnostics_GD0101.cs",
  10. "ExportDiagnostics_GD0101_ScriptPropertyDefVal.generated.cs"
  11. );
  12. }
  13. [Fact]
  14. public async void TypeIsNotSupported()
  15. {
  16. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  17. "ExportDiagnostics_GD0102.cs",
  18. "ExportDiagnostics_GD0102_ScriptPropertyDefVal.generated.cs"
  19. );
  20. }
  21. [Fact]
  22. public async void ReadOnly()
  23. {
  24. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  25. "ExportDiagnostics_GD0103.cs",
  26. "ExportDiagnostics_GD0103_ScriptPropertyDefVal.generated.cs"
  27. );
  28. }
  29. [Fact]
  30. public async void WriteOnly()
  31. {
  32. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  33. "ExportDiagnostics_GD0104.cs",
  34. "ExportDiagnostics_GD0104_ScriptPropertyDefVal.generated.cs"
  35. );
  36. }
  37. [Fact]
  38. public async void Indexer()
  39. {
  40. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  41. "ExportDiagnostics_GD0105.cs",
  42. "ExportDiagnostics_GD0105_ScriptPropertyDefVal.generated.cs"
  43. );
  44. }
  45. [Fact]
  46. public async void ExplicitInterfaceImplementation()
  47. {
  48. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  49. new string[] { "ExportDiagnostics_GD0106.cs" },
  50. new string[]
  51. {
  52. "ExportDiagnostics_GD0106_OK_ScriptPropertyDefVal.generated.cs",
  53. "ExportDiagnostics_GD0106_KO_ScriptPropertyDefVal.generated.cs",
  54. }
  55. );
  56. }
  57. [Fact]
  58. public async void NodeExports()
  59. {
  60. await CSharpSourceGeneratorVerifier<ScriptPropertyDefValGenerator>.Verify(
  61. new string[] { "ExportDiagnostics_GD0107.cs" },
  62. new string[]
  63. {
  64. "ExportDiagnostics_GD0107_OK_ScriptPropertyDefVal.generated.cs",
  65. "ExportDiagnostics_GD0107_KO_ScriptPropertyDefVal.generated.cs",
  66. }
  67. );
  68. }
  69. [Fact]
  70. public async void ExportToolButtonInNonToolClass()
  71. {
  72. await CSharpSourceGeneratorVerifier<ScriptPropertiesGenerator>.Verify(
  73. new string[] { "ExportDiagnostics_GD0108.cs" },
  74. new string[] { "ExportDiagnostics_GD0108_ScriptProperties.generated.cs" }
  75. );
  76. }
  77. [Fact]
  78. public async void ExportAndExportToolButtonOnSameMember()
  79. {
  80. await CSharpSourceGeneratorVerifier<ScriptPropertiesGenerator>.Verify(
  81. new string[] { "ExportDiagnostics_GD0109.cs" },
  82. new string[] { "ExportDiagnostics_GD0109_ScriptProperties.generated.cs" }
  83. );
  84. }
  85. [Fact]
  86. public async void ExportToolButtonOnNonCallable()
  87. {
  88. await CSharpSourceGeneratorVerifier<ScriptPropertiesGenerator>.Verify(
  89. new string[] { "ExportDiagnostics_GD0110.cs" },
  90. new string[] { "ExportDiagnostics_GD0110_ScriptProperties.generated.cs" }
  91. );
  92. }
  93. [Fact]
  94. public async void ExportToolButtonStoringCallable()
  95. {
  96. await CSharpSourceGeneratorVerifier<ScriptPropertiesGenerator>.Verify(
  97. new string[] { "ExportDiagnostics_GD0111.cs" },
  98. new string[] { "ExportDiagnostics_GD0111_ScriptProperties.generated.cs" }
  99. );
  100. }
  101. }