public void CustomColorsNormalPath() { var cgr = new ColorGroupReader(dm, defaultFileInfo.Name, customFileInfo.Name); // verify the defaults have changed var defaultColor = cgr.GetColor("default"); Assert.IsNotNull(defaultColor); Assert.IsTrue(defaultColor.Foreground == ConsoleColor.Green); Assert.IsTrue(defaultColor.Background == ConsoleColor.DarkMagenta); // verify a value from the default colors var oldColor = cgr.GetColor("basePath"); Assert.IsNotNull(oldColor); Assert.IsTrue(oldColor.Foreground == ConsoleColor.Cyan); Assert.IsTrue(oldColor.Background == ConsoleColor.DarkBlue); // verify an identical in the test data var newGroup = cgr.GetColor("newgroup"); Assert.IsNotNull(newGroup); Assert.IsTrue(newGroup.Foreground == ConsoleColor.Red); Assert.IsTrue(newGroup.Background == ConsoleColor.DarkRed); }
public void ValidPathWhitespaceGroupNameUsesDefault(string groupName) { var cgr = new ColorGroupReader(dm, defaultFileInfo.Name, "Nothing.csv"); var defaultColor = cgr.GetColor("default"); var color = cgr.GetColor(groupName); Assert.IsNotNull(color); Assert.IsTrue(color.Foreground == defaultColor.Foreground); Assert.IsTrue(color.Background == defaultColor.Background); }
public void ValidPathDefaultsWithOverride() { var cgr = new ColorGroupReader(dm, defaultFileInfo.Name, "Nothing.csv"); var color = cgr.GetColor("sysFolder", null, ConsoleColor.DarkMagenta); Assert.IsNotNull(color); Assert.IsTrue(color.Foreground == ConsoleColor.White); Assert.IsTrue(color.Background == ConsoleColor.DarkMagenta); color = cgr.GetColor("sysFolder", ConsoleColor.Green, ConsoleColor.DarkMagenta); Assert.IsNotNull(color); Assert.IsTrue(color.Foreground == ConsoleColor.Green); Assert.IsTrue(color.Background == ConsoleColor.DarkMagenta); }
public void ValidPathDefaultsOnly() { var cgr = new ColorGroupReader(dm, defaultFileInfo.Name, "Nothing.csv"); var defaultColor = cgr.GetColor("default"); Assert.IsNotNull(defaultColor); Assert.IsTrue(defaultColor.Foreground == ConsoleColor.Gray); Assert.IsNull(defaultColor.Background); // verify the last value in the test data var sysFolder = cgr.GetColor("sysFolder"); Assert.IsNotNull(sysFolder); Assert.IsTrue(sysFolder.Foreground == ConsoleColor.White); Assert.IsTrue(sysFolder.Background == ConsoleColor.DarkRed); }
public void VerifyDefaultColor() { var cgr = new ColorGroupReader(dm, defaultFileInfo.Name, "Nothing.csv"); var logicalDefaultColor = cgr.GetDefaultColor(); Assert.IsNotNull(logicalDefaultColor); var defaultColor = cgr.GetColor("default"); Assert.IsTrue(logicalDefaultColor.Foreground == defaultColor.Foreground); Assert.IsTrue(logicalDefaultColor.Background == defaultColor.Background); }
public void VerifyBadGroupNameUsesDefaultColor() { var cgr = new ColorGroupReader(dm, defaultFileInfo.Name, "Nothing.csv"); var defaultColor = cgr.GetDefaultColor(); Assert.IsNotNull(defaultColor); var color = cgr.GetColor("ABCZXY"); Assert.IsNotNull(color); Assert.IsTrue(defaultColor.Foreground == color.Foreground); Assert.IsTrue(defaultColor.Background == color.Background); }
public virtual TResult GetCommandResults(bool skipCache = false) { if (RepositoryDirectories == null) { return(null); } if (string.IsNullOrWhiteSpace(RepositoryDirectories.RootFolder)) { return(null); } if (string.IsNullOrWhiteSpace(this.Command)) { return(null); } var cacheName = BuildCacheName(); var useCache = this.UseCache; if (skipCache || RepositoryDirectories.IgnoreCache || string.IsNullOrWhiteSpace(this.CacheName)) { useCache = false; } TResult resultOut = default(TResult); if (useCache) { resultOut = RepositoryDirectories.Cache.Get <TResult>(cacheName); } this.CommandOutput = null; if (resultOut == default(TResult) || !useCache) { var execFolder = this.CommandExecFolder ?? RepositoryDirectories.RootFolder; var writer = new ConsoleWriter(); var barColor = _colorGroups.GetColor("commandExecBar"); writer.WriteHeader(this.Command, barColor.Foreground, barColor.Background, ConsoleTextPosition.Center); var result = DWPSUtils.ExecuteCommandSync(_diskManager, _processManager, this.Command, execFolder); writer.ResetConsole(); resultOut = this.Parser.Parse(result.Output); AddItemToCache(RepositoryDirectories, cacheName, resultOut); this.CommandOutput = result.Output; } return(resultOut); }
public void Execute(IWriteTextCmdlet cmdLet) { if (_originalColors == null) { _originalColors = new ColorPair(); } ColorPair group = new ColorPair(cmdLet.ForegroundColor, cmdLet.BackgroundColor); var blocks = GetTextValues(cmdLet); var colors = GetColorGroups(cmdLet); var useNewLine = !this.NoNewLine; var lastPos = blocks.Length - 1; for (var i = 0; i < blocks.Length; i++) { var colGroup = i < colors.Length ? colors[i] : null; if (colGroup != null) { group = _colors.GetColor(colGroup, cmdLet.ForegroundColor, cmdLet.BackgroundColor); } if (i == lastPos && useNewLine) { _writer.WriteLine(blocks[i], group); } else { _writer.Write(blocks[i], group); } } if (this.NoColorReset) { group.ApplyColors(); } if (this.ForceColorReset) { _originalColors.ResetColors(); } }