public void KeepLastEmptyLineOnContentEdit() { RefreshWorkData(); foreach (var path in new[] { Ja_UTF8_CRLF_TxtPath, Ja_UTF8_CRLF_EndsWithEmptyLine_TxtPath }) { var fileInfo = new TextFileInfo(path); int srcLineCount = fileInfo.ReadAllLines().Count; var pathTree = new PathTree(); pathTree.TryAdd(path, out string errorMessage); var commands = new List <Command>(); if (Command.TryParse("s/ほげ/ホゲ/g", out var command)) { commands.Add(command); } var runner = new CommandRunner(commands); runner.Run(pathTree, CommandRunnerActionKind.Replace); int lineCount = fileInfo.ReadAllLines().Count; Assert.Equal(srcLineCount, lineCount); } }
public void WorkWithSedRegex() { RefreshWorkData(); string path = Ja_UTF8_CRLF_TxtPath; var pathTree = new PathTree(); pathTree.TryAdd(path, out string errorMessage); var commands = new List <Command>(); if (Command.TryParse(@"s/ほ\(げ\)/ホ\1/g", out var command)) { commands.Add(command); } var runner = new CommandRunner(commands); runner.Run(pathTree, CommandRunnerActionKind.Replace); var fileInfo = new TextFileInfo(path); var lines = fileInfo.ReadAllLines(); Assert.Contains(lines, l => l.Contains("ホげ")); }