Skip to content

Commit 1019bc3

Browse files
committed
Update analyzer tests for Roslyn 4.13
1 parent ee6f55d commit 1019bc3

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

tests/CommunityToolkit.Mvvm.SourceGenerators.Roslyn4120.UnitTests/Test_SourceGeneratorsDiagnostics.cs

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public partial class SampleViewModel : ObservableObject
3232
}
3333

3434
[TestMethod]
35-
public async Task RequireCSharpLanguageVersionPreviewAnalyzer_LanguageVersionIsNotPreview_Partial_Warns()
35+
public async Task RequireCSharpLanguageVersionPreviewAnalyzer_LanguageVersionIsNotPreview_CSharp12_Partial_Warns()
3636
{
3737
const string source = """
3838
using CommunityToolkit.Mvvm.ComponentModel;
@@ -51,8 +51,32 @@ await CSharpAnalyzerWithLanguageVersionTest<RequiresCSharpLanguageVersionPreview
5151
source,
5252
LanguageVersion.CSharp12,
5353

54-
// /0/Test0.cs(8,31): error CS8703: The modifier 'partial' is not valid for this item in C# 12.0. Please use language version 'preview' or greater.
55-
DiagnosticResult.CompilerError("CS8703").WithSpan(8, 31, 8, 35).WithArguments("partial", "12.0", "preview"),
54+
// /0/Test0.cs(8,31): error CS8703: The modifier 'partial' is not valid for this item in C# 12.0. Please use language version '13.0' or greater.
55+
DiagnosticResult.CompilerError("CS8703").WithSpan(8, 31, 8, 35).WithArguments("partial", "12.0", "13.0"),
56+
// /0/Test0.cs(8,31): error CS9248: Partial property 'SampleViewModel.Name' must have an implementation part.
57+
DiagnosticResult.CompilerError("CS9248").WithSpan(8, 31, 8, 35).WithArguments("MyApp.SampleViewModel.Name"));
58+
}
59+
60+
[TestMethod]
61+
public async Task RequireCSharpLanguageVersionPreviewAnalyzer_LanguageVersionIsNotPreview_CSharp13_Partial_Warns()
62+
{
63+
const string source = """
64+
using CommunityToolkit.Mvvm.ComponentModel;
65+
66+
namespace MyApp
67+
{
68+
public partial class SampleViewModel : ObservableObject
69+
{
70+
[{|MVVMTK0041:ObservableProperty|}]
71+
public partial string Name { get; set; }
72+
}
73+
}
74+
""";
75+
76+
await CSharpAnalyzerWithLanguageVersionTest<RequiresCSharpLanguageVersionPreviewAnalyzer>.VerifyAnalyzerAsync(
77+
source,
78+
LanguageVersion.CSharp13,
79+
5680
// /0/Test0.cs(8,31): error CS9248: Partial property 'SampleViewModel.Name' must have an implementation part.
5781
DiagnosticResult.CompilerError("CS9248").WithSpan(8, 31, 8, 35).WithArguments("MyApp.SampleViewModel.Name"));
5882
}

0 commit comments

Comments
 (0)