public void BreakingChangeYieldsMajorRelease()
        {
            var commits = new List <ReleaseCommit>();

            commits.Add(GetBreakingPatchCommit());

            var parser = new CommitMessageParser(commits);
            var result = parser.GetReleaseType();

            Assert.Equal(ReleaseType.MAJOR, result);
        }
        public void FeatureYieldsMinorRelease()
        {
            var commits = new List <ReleaseCommit>();

            commits.Add(GetFeatureCommit());

            var parser = new CommitMessageParser(commits);
            var result = parser.GetReleaseType();

            Assert.Equal(ReleaseType.MINOR, result);
        }
        public void SecurityYieldsPatchRelease()
        {
            var commits = new List <ReleaseCommit>();

            commits.Add(GetCommit("security"));

            var parser = new CommitMessageParser(commits);
            var result = parser.GetReleaseType();

            Assert.Equal(ReleaseType.PATCH, result);
        }
        public void NonVersionableChangesYieldsNoRelease()
        {
            var commits = new List <ReleaseCommit>();

            commits.Add(GetNonVersionableChange());

            var parser = new CommitMessageParser(commits);
            var result = parser.GetReleaseType();

            Assert.Equal(ReleaseType.NONE, result);
        }
        public void MinorReleaseCommitTakesPrecedenceOverPatch()
        {
            var commits = new List <ReleaseCommit>();

            commits.Add(GetFeatureCommit());
            commits.Add(GetPatchCommit());

            var parser = new CommitMessageParser(commits);
            var result = parser.GetReleaseType();

            Assert.Equal(ReleaseType.MINOR, result);
        }
示例#6
0
        private bool TryGetChangeLogEntry(GitCommit commit, [NotNullWhen(true)] out ChangeLogEntry?entry)
        {
            var strictMode = m_Configuration.Parser.Mode == ChangeLogConfiguration.ParserMode.Strict;

            try
            {
                var parsed = CommitMessageParser.Parse(commit.CommitMessage, strictMode);
                entry = ChangeLogEntry.FromCommitMessage(commit, parsed);
                return(true);
            }
            catch (ParserException)
            {
                m_Logger.LogDebug($"Ignoring commit '{commit.Id}' because the commit message could not be parsed.");
                entry = default;
                return(false);
            }
        }