public void Parse_should_parse_s_arguments() { const string Subject = "line1"; GitRevision revision = new(ObjectId.IndexId) { Subject = Subject, Body = $"{Subject}\n\nline3" }; _scriptHostControl.GetLatestSelectedRevision().Returns(x => revision); string expectedMessage = $"{Subject}\\n\\nline3"; var result = ScriptOptionsParser.Parse("echo {{sSubject}} {{sMessage}}", module: _module, owner: null, _scriptHostControl); result.arguments.Should().Be($"echo \"{revision.Subject}\" \"{expectedMessage}\""); result.abort.Should().Be(false); }
private static GitRevision CalculateSelectedRevision(IScriptHostControl scriptHostControl, List <IGitRef> selectedRemoteBranches, List <string> selectedRemotes, List <IGitRef> selectedLocalBranches, List <IGitRef> selectedBranches, List <IGitRef> selectedTags) { GitRevision selectedRevision = scriptHostControl?.GetLatestSelectedRevision(); if (selectedRevision == null) { return(null); } foreach (var head in selectedRevision.Refs) { if (head.IsTag) { selectedTags.Add(head); } else if (head.IsHead || head.IsRemote) { selectedBranches.Add(head); if (head.IsRemote) { selectedRemoteBranches.Add(head); if (!selectedRemotes.Contains(head.Remote)) { selectedRemotes.Add(head.Remote); } } else { selectedLocalBranches.Add(head); } } } return(selectedRevision); }