public void Encoding_ReturnsUnicode() { var logger = MockRepository.GenerateStub <ILogger>(); var writer = new BufferedLogWriter(logger, LogSeverity.Important); Assert.AreEqual(Encoding.Unicode, writer.Encoding); }
public void NewLine_ReturnsLinefeed() { var logger = MockRepository.GenerateStub <ILogger>(); var writer = new BufferedLogWriter(logger, LogSeverity.Important); Assert.AreEqual("\n", writer.NewLine); }
public void Write_BuffersLogMessagesUpToNewLineAndTrimsBlankLinesAtEnds() { var logger = MockRepository.GenerateMock <ILogger>(); logger.Expect(x => x.Log(LogSeverity.Important, "First message")); logger.Expect(x => x.Log(LogSeverity.Important, "Second message")); logger.Expect(x => x.Log(LogSeverity.Important, "Third message\nWith extra line")); logger.Expect(x => x.Log(LogSeverity.Important, "Fourth message")); var writer = new BufferedLogWriter(logger, LogSeverity.Important); writer.Write("First"); writer.WriteLine(" message"); writer.WriteLine("\n\nSecond message\n\n"); writer.WriteLine("Third message\nWith extra line"); writer.WriteLine(); writer.Write("Fourth message".ToCharArray()); writer.Dispose(); logger.VerifyAllExpectations(); }
private static void ExploreOrRun(TestPackage testPackage, ScriptRuntimeSetup scriptRuntimeSetup, string testDriverScriptPath, TestExplorationOptions testExplorationOptions, TestExecutionOptions testExecutionOptions, IMessageSink messageSink, IProgressMonitor progressMonitor, ILogger logger) { using (BufferedLogWriter outputWriter = new BufferedLogWriter(logger, LogSeverity.Info, Encoding.Default), errorWriter = new BufferedLogWriter(logger, LogSeverity.Error, Encoding.Default)) { using (var queuedMessageSink = new QueuedMessageSink(messageSink)) { using (new ConsoleRedirection(outputWriter, errorWriter)) { var scriptRuntime = new ScriptRuntime(scriptRuntimeSetup); scriptRuntime.IO.SetInput(Stream.Null, TextReader.Null, Encoding.Default); scriptRuntime.IO.SetOutput(new TextWriterStream(outputWriter), outputWriter); scriptRuntime.IO.SetErrorOutput(new TextWriterStream(errorWriter), errorWriter); try { var scriptParameters = new Dictionary <string, object>(); scriptParameters.Add("Verb", testExecutionOptions != null ? "Run" : "Explore"); scriptParameters.Add("TestPackage", testPackage); scriptParameters.Add("TestExplorationOptions", testExplorationOptions); scriptParameters.Add("TestExecutionOptions", testExecutionOptions); scriptParameters.Add("MessageSink", queuedMessageSink); scriptParameters.Add("ProgressMonitor", progressMonitor); scriptParameters.Add("Logger", logger); scriptRuntime.Globals.SetVariable(ScriptParametersVariableName, scriptParameters); RunScript(scriptRuntime, testDriverScriptPath); } finally { scriptRuntime.Shutdown(); } } } } }