public void GetsStandardErrorFromConsole() { var consoleMock = new Mock <IConsoleWriter>(); consoleMock.SetupGet(c => c.StandardError).Returns(TextWriter.Null); var exporter = new ConsoleExporter(consoleMock.Object); exporter.ExportParsedData(new ParsedData(VersionData.Parse("1.0.0"), new ReleaseNotesData()), "stderr", false); consoleMock.VerifyGet(c => c.StandardError, Times.Once); }
static void VersionTest() { Console.Write("Input Json File Path:"); string path = Console.ReadLine(); VersionData data = VersionData.Parse(JObject.Parse(File.ReadAllText(path))); Console.WriteLine(data.Assets); foreach (var data2 in data.Libraries) { Console.WriteLine(data2.GetFileInfo().Url); } Console.WriteLine(data.Id); Console.WriteLine(data.InheritsFrom); Console.WriteLine(data.Jar); }
public ParsedData ParseVersionFromCommits(IEnumerable <CommitInfo> commits) { if (commits is null) { throw new ArgumentNullException(nameof(commits)); } VersionData?version = null; var releaseNotes = new ReleaseNotesData(); var firstCommit = true; var firstCommitIsTag = false; var metadata = string.Empty; var commitCount = 0; foreach (var commit in commits) { this._writer.AddIndent(); var parsedCommit = ParseConventionalCommit(commit, firstCommit || !commit.IsTag); if (parsedCommit != null || commit.IsTag) { version = this._versionParser.ParseVersion(version, parsedCommit ?? commit); } if (parsedCommit != null && (firstCommit || !commit.IsTag)) { this._releaseNoteParser.ParseReleaseNotes(releaseNotes, parsedCommit); } this._writer.RemoveIndent(); if (firstCommit) { if (!commit.IsTag && commit.RawText.StartsWith("Merge ", StringComparison.OrdinalIgnoreCase)) { continue; } firstCommitIsTag = commit.IsTag; metadata = commit.Sha; } if (!firstCommit && commit.IsTag) { break; } if (firstCommit || !commit.IsTag) { commitCount++; } firstCommit = false; } if (version?.IsEmpty() != false) { if (!string.IsNullOrEmpty(this.config.Tag)) { version = VersionData.Parse(this.config.NextVersion + "-" + this.config.Tag); if (firstCommitIsTag) { version.Weight = 1; } } else { version = VersionData.Parse(this.config.NextVersion); } } var versionBumped = false; if (!firstCommitIsTag) { versionBumped = ForceNextVersion(version); } else if (version.MajorMinorPatch == "0.0.0") { version.SetNextBump(VersionBump.None, true); versionBumped = ForceNextVersion(version); } version.Metadata = metadata; version.Commits = commitCount; if (!firstCommitIsTag && versionBumped && !string.IsNullOrEmpty(this.config.Tag) && !string.Equals(this.config.Tag, version.PreReleaseLabel, StringComparison.OrdinalIgnoreCase) && string.Compare(this.config.Tag, version.PreReleaseLabel, StringComparison.OrdinalIgnoreCase) > 0) { version.PreReleaseLabel = this.config.Tag; version.Weight = Math.Max(version.Weight ?? 1, 1); } return(new ParsedData(version, releaseNotes)); }
public void ThrowsNotSupportedExceptionOnInvalidValues([Values("help.json", "stdwarn", "release.md")] string output) { var consoleMock = new Mock <IConsoleWriter>(); consoleMock.SetupGet(c => c.StandardError).Returns(TextWriter.Null); consoleMock.SetupGet(c => c.StandardOut).Returns(TextWriter.Null); var exporter = new ConsoleExporter(consoleMock.Object); Should.Throw <NotSupportedException>(() => exporter.ExportParsedData(new ParsedData(VersionData.Parse("1.0.0"), new ReleaseNotesData()), output, false)); consoleMock.VerifyGet(c => c.StandardOut, Times.Never); consoleMock.VerifyGet(c => c.StandardError, Times.Never); }