public async Task Diagnostic_InvalidRegexPattern(string pattern) { IReadOnlyList<Diagnostic> diagnostics = await RegexGeneratorHelper.RunGenerator($@" using System.Text.RegularExpressions; partial class C {{ [RegexGenerator({pattern})] private static partial Regex InvalidPattern(); }} "); Assert.Equal("SYSLIB1042", Assert.Single(diagnostics).Id); }
public async Task Diagnostic_MultipleAttributes() { IReadOnlyList<Diagnostic> diagnostics = await RegexGeneratorHelper.RunGenerator(@" using System.Text.RegularExpressions; partial class C { [RegexGenerator(""ab"")] [RegexGenerator(""abc"")] private static partial Regex MultipleAttributes(); } "); Assert.Equal("SYSLIB1041", Assert.Single(diagnostics).Id); }
public async Task Diagnostic_MalformedCtor(string attribute) { // Validate the generator doesn't crash with an incomplete attribute IReadOnlyList<Diagnostic> diagnostics = await RegexGeneratorHelper.RunGenerator($@" using System.Text.RegularExpressions; partial class C {{ {attribute} private static partial Regex MultipleAttributes(); }} "); if (diagnostics.Count != 0) { Assert.Contains(Assert.Single(diagnostics).Id, new[] { "SYSLIB1040", "SYSLIB1042" }); } }