Skip to content
This repository has been archived by the owner on Dec 26, 2023. It is now read-only.

Commit

Permalink
Merge branch 'release/0.8.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
pascalberger committed Nov 18, 2019
2 parents f9368f2 + 8159a3c commit dec5984
Show file tree
Hide file tree
Showing 9 changed files with 118 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#---------------------------------#
# Build Image #
#---------------------------------#
image: Visual Studio 2017
image: Visual Studio 2019

#---------------------------------#
# Build Script #
Expand Down
2 changes: 1 addition & 1 deletion nuspec/nuget/Cake.Issues.Markdownlint.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ See the Project Site for an overview of the whole ecosystem of addins for workin
<repository type="git" url="https://github.com/cake-contrib/Cake.Issues.Markdownlint.git"/>
<copyright>Copyright © BBT Software AG and contributors</copyright>
<tags>Cake Script Cake-Issues Cake-IssueProvider Linting Markdownlint</tags>
<releaseNotes>https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/0.8.0</releaseNotes>
<releaseNotes>https://github.com/cake-contrib/Cake.Issues.Markdownlint/releases/tag/0.8.1</releaseNotes>
</metadata>
<files>
<file src="..\..\..\..\nuspec\nuget\icon.png" target="" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<None Include="app.config" />
<EmbeddedResource Include="Testfiles\MarkdownlintCliLogFileFormat\markdownlint-cli-0.8.1.log" />
<EmbeddedResource Include="Testfiles\MarkdownlintCliLogFileFormat\markdownlint-cli-0.10.0.log" />
<EmbeddedResource Include="Testfiles\MarkdownlintCliLogFileFormat\markdownlint-cli-0.19.0.log" />
<EmbeddedResource Include="Testfiles\MarkdownlintCliLogFileFormat\empty.log" />
</ItemGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
{
using System;
using System.Linq;
using Cake.Core.IO;
using Cake.Issues.Markdownlint.LogFileFormat;
using Cake.Issues.Testing;
using Shouldly;
Expand Down Expand Up @@ -210,6 +209,101 @@ public void Should_Read_Issue_Correct_0_10_0()
.OfRule("MD009", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md009"))
.WithPriority(IssuePriority.Warning));
}

[Fact]
public void Should_Read_Issue_Correct_0_19_0()
{
// Given
var fixture =
new MarkdownlintIssuesProviderFixture<MarkdownlintCliLogFileFormat>("markdownlint-cli-0.19.0.log");

// When
var issues = fixture.ReadIssues().ToList();

// Then
issues.Count.ShouldBe(9);
IssueChecker.Check(
issues[0],
IssueBuilder.NewIssue(
"Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: \"# foo\"]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 1)
.OfRule("MD022", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md022"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[1],
IssueBuilder.NewIssue(
"Trailing spaces [Expected: 0 or 2; Actual: 1]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 2)
.OfRule("MD009", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md009"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[2],
IssueBuilder.NewIssue(
"Line length [Expected: 100; Actual: 811]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 2)
.OfRule("MD013", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md013"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[3],
IssueBuilder.NewIssue(
"Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: \"# bar\"]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 4)
.OfRule("MD022", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md022"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[4],
IssueBuilder.NewIssue(
"Multiple top level headings in the same document [Context: \"# bar\"]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 4)
.OfRule("MD025", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md025"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[5],
IssueBuilder.NewIssue(
"Fenced code blocks should be surrounded by blank lines [Context: \"```\"]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 5)
.OfRule("MD031", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md031"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[6],
IssueBuilder.NewIssue(
"Fenced code blocks should have a language specified [Context: \"```\"]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 5)
.OfRule("MD040", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md040"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[7],
IssueBuilder.NewIssue(
"Trailing spaces [Expected: 0 or 2; Actual: 1]",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 6)
.OfRule("MD009", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md009"))
.WithPriority(IssuePriority.Warning));
IssueChecker.Check(
issues[8],
IssueBuilder.NewIssue(
"Files should end with a single newline character",
"Cake.Issues.Markdownlint.MarkdownlintIssuesProvider",
"markdownlint")
.InFile("docs/index.md", 7)
.OfRule("MD047", new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#md047"))
.WithPriority(IssuePriority.Warning));
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public void Should_Resolve_Url_From_Custom_Resolvers()
const string fooUrl = "http://foo.com/";
const string bar = "MD456";
const string barUrl = "http://bar.com/";
var urlResolver = MarkdownlintRuleUrlResolver.Instance;
var urlResolver = new MarkdownlintRuleUrlResolver();
urlResolver.AddUrlResolver(x => x.Rule == foo ? new Uri(fooUrl) : null, 1);
urlResolver.AddUrlResolver(x => x.Rule == bar ? new Uri(barUrl) : null, 1);

Expand All @@ -98,7 +98,7 @@ public void Should_Parse_RuleId(string rule, int expectedRuleId)
{
// Given
int? ruleId = null;
var urlResolver = MarkdownlintRuleUrlResolver.Instance;
var urlResolver = new MarkdownlintRuleUrlResolver();
urlResolver.AddUrlResolver(
x =>
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
C:/Git/Test/Cake.Prca/docs/index.md:1 MD022/blanks-around-headings/blanks-around-headers Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "# foo"]
C:/Git/Test/Cake.Prca/docs/index.md:2 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
C:/Git/Test/Cake.Prca/docs/index.md:2 MD013/line-length Line length [Expected: 100; Actual: 811]
C:/Git/Test/Cake.Prca/docs/index.md:4 MD022/blanks-around-headings/blanks-around-headers Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "# bar"]
C:/Git/Test/Cake.Prca/docs/index.md:4 MD025/single-title/single-h1 Multiple top level headings in the same document [Context: "# bar"]
C:/Git/Test/Cake.Prca/docs/index.md:5 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```"]
C:/Git/Test/Cake.Prca/docs/index.md:5 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
C:/Git/Test/Cake.Prca/docs/index.md:6 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
C:/Git/Test/Cake.Prca/docs/index.md:7 MD047/single-trailing-newline Files should end with a single newline character
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<Version>0.8.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers">
<Version>2.9.6</Version>
<Version>2.9.7</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public override IEnumerable<IIssue> ReadIssues(
repositorySettings.NotNull(nameof(repositorySettings));
markdownlintIssuesSettings.NotNull(nameof(markdownlintIssuesSettings));

var regex = new Regex(@"(.*): (\d*): (MD\d*)/((?:\w*-*/*)*) (.*)");
var regex = new Regex(@"(?<filePath>.*): ?(?<lineNumber>\d+):? (?<ruleId>MD\d+)/(?<ruleName>(?:\w*-*/*)*) (?<message>.*)");

foreach (var line in markdownlintIssuesSettings.LogFileContent.ToStringUsingEncoding().Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None).ToList().Where(s => !string.IsNullOrEmpty(s)))
{
Expand All @@ -42,16 +42,16 @@ public override IEnumerable<IIssue> ReadIssues(
continue;
}

var lineNumber = int.Parse(groups[2].Value);
var rule = groups[3].Value;
var ruleDescription = groups[5].Value;
var lineNumber = int.Parse(groups["lineNumber"].Value);
var ruleId = groups["ruleId"].Value;
var message = groups["message"].Value;

yield return
IssueBuilder
.NewIssue(ruleDescription, issueProvider)
.NewIssue(message, issueProvider)
.InFile(fileName, lineNumber)
.WithPriority(IssuePriority.Warning)
.OfRule(rule, MarkdownlintRuleUrlResolver.Instance.ResolveRuleUrl(rule))
.OfRule(ruleId, MarkdownlintRuleUrlResolver.Instance.ResolveRuleUrl(ruleId))
.Create();
}
}
Expand All @@ -68,7 +68,7 @@ private bool TryGetFile(
RepositorySettings repositorySettings,
out string fileName)
{
fileName = values[1].Value;
fileName = values["filePath"].Value;

// Make path relative to repository root.
fileName = fileName.Substring(repositorySettings.RepositoryRoot.FullPath.Length);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ internal class MarkdownlintRuleUrlResolver : BaseRuleUrlResolver<MarkdownlintRul
/// <summary>
/// Initializes a new instance of the <see cref="MarkdownlintRuleUrlResolver"/> class.
/// </summary>
private MarkdownlintRuleUrlResolver()
internal MarkdownlintRuleUrlResolver()
{
this.AddUrlResolver(x =>
new Uri("https://github.com/DavidAnson/markdownlint/blob/master/doc/Rules.md#" + x.Rule.ToLowerInvariant()));
Expand Down

0 comments on commit dec5984

Please sign in to comment.