From 4560dd1a3bb8ec1488328c1b91e2a1a14373deba Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Tue, 10 Sep 2024 13:09:17 +1000 Subject: [PATCH] fix extension convention checks --- .../Superset/.editorconfig | 14 ++++++++++ .../Superset/.gitattributes | 12 +++++++++ .../Superset/.gitignore | 10 +++++++ .../Superset/file.verified.html | 1 + .../Superset/file.verified.txt | 1 + .../Superset/project.csproj | 7 +++++ .../VerifyChecksTests.cs | 4 +++ .../ConventionCheck/InnerVerifyChecks.cs | 27 ++++++++++++++++--- 8 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 src/Verify.Tests/InnerVerifyChecksTests/Superset/.editorconfig create mode 100644 src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitattributes create mode 100644 src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitignore create mode 100644 src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.html create mode 100644 src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.txt create mode 100644 src/Verify.Tests/InnerVerifyChecksTests/Superset/project.csproj diff --git a/src/Verify.Tests/InnerVerifyChecksTests/Superset/.editorconfig b/src/Verify.Tests/InnerVerifyChecksTests/Superset/.editorconfig new file mode 100644 index 000000000..7a30b8bae --- /dev/null +++ b/src/Verify.Tests/InnerVerifyChecksTests/Superset/.editorconfig @@ -0,0 +1,14 @@ +root = true +# EditorConfig: http://EditorConfig.org + +# top-most EditorConfig file + +# Verify settings +[*.{received,verified}.{html,txt,xml}] +charset = "utf-8-bom" +end_of_line = lf +indent_size = unset +indent_style = unset +insert_final_newline = false +tab_width = unset +trim_trailing_whitespace = false \ No newline at end of file diff --git a/src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitattributes b/src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitattributes new file mode 100644 index 000000000..2d11613b5 --- /dev/null +++ b/src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitattributes @@ -0,0 +1,12 @@ +* text +*.snk binary +*.png binary +*.bmp binary +*.tif binary +*.zip binary + + +*.verified.txt text eol=lf working-tree-encoding=UTF-8 +*.verified.html text eol=lf working-tree-encoding=UTF-8 +*.verified.xml text eol=lf working-tree-encoding=UTF-8 + diff --git a/src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitignore b/src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitignore new file mode 100644 index 000000000..232383fc8 --- /dev/null +++ b/src/Verify.Tests/InnerVerifyChecksTests/Superset/.gitignore @@ -0,0 +1,10 @@ +*.suo +*.user +bin/ +obj/ +.vs/ +*.DotSettings.user +.idea/ +*.received.* + +*.received/ \ No newline at end of file diff --git a/src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.html b/src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.html new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.txt b/src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.txt new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/src/Verify.Tests/InnerVerifyChecksTests/Superset/file.verified.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/Verify.Tests/InnerVerifyChecksTests/Superset/project.csproj b/src/Verify.Tests/InnerVerifyChecksTests/Superset/project.csproj new file mode 100644 index 000000000..1f059d7bd --- /dev/null +++ b/src/Verify.Tests/InnerVerifyChecksTests/Superset/project.csproj @@ -0,0 +1,7 @@ + + + + net9.0 + + + diff --git a/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.cs b/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.cs index a22936560..e1232e164 100644 --- a/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.cs +++ b/src/Verify.Tests/InnerVerifyChecksTests/VerifyChecksTests.cs @@ -16,6 +16,10 @@ static VerifyChecksTests() partialDirectory = GetDirectory("Partial"); } + [Fact] + public Task Superset() => + InnerVerifyChecks.Run(GetDirectory("Superset")); + [Fact] public Task Valid() => InnerVerifyChecks.Run(GetDirectory("Valid")); diff --git a/src/Verify/ConventionCheck/InnerVerifyChecks.cs b/src/Verify/ConventionCheck/InnerVerifyChecks.cs index 99296cf8d..fa3a3a040 100644 --- a/src/Verify/ConventionCheck/InnerVerifyChecks.cs +++ b/src/Verify/ConventionCheck/InnerVerifyChecks.cs @@ -78,10 +78,9 @@ internal static async Task CheckEditorConfig(string solutionDirectory, List extensions, string[] lines) + { + var line = lines.SingleOrDefault(_ => _.StartsWith("[*.{received,verified}.")); + if (line == null) + { + return false; + } + + var suffix = line[24..^2].Split(','); + foreach (var extension in extensions) + { + if (!suffix.Contains(extension)) + { + return false; + } + } + + return true; + } + internal static async Task CheckGitAttributes(string solutionDirectory, List extensions) { var path = Path.Combine(solutionDirectory, ".gitattributes");