diff --git a/src/NUnitTestAdapter/Internal/Extensions.cs b/src/NUnitTestAdapter/Internal/Extensions.cs index 87e5a9f3..73e9f534 100644 --- a/src/NUnitTestAdapter/Internal/Extensions.cs +++ b/src/NUnitTestAdapter/Internal/Extensions.cs @@ -10,9 +10,6 @@ public static class TypeExtensions #endif public static class StringExtensions { - public static bool IsNullOrWhiteSpace(this string value) - { - return value == null || value.Trim().Length == 0; - } + public static bool IsNullOrWhiteSpace(this string value) => string.IsNullOrEmpty(value) || value.Trim().Length == 0; } } diff --git a/src/NUnitTestAdapter/NUnitEventListener.cs b/src/NUnitTestAdapter/NUnitEventListener.cs index ab57c652..180f4add 100644 --- a/src/NUnitTestAdapter/NUnitEventListener.cs +++ b/src/NUnitTestAdapter/NUnitEventListener.cs @@ -30,6 +30,7 @@ using Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter; using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging; using NUnit.Engine; +using NUnit.VisualStudio.TestAdapter; using NUnit.VisualStudio.TestAdapter.Dump; using NUnit.VisualStudio.TestAdapter.Internal; using NUnit.VisualStudio.TestAdapter.NUnitEngine; @@ -159,14 +160,14 @@ public void TestFinished(INUnitTestEventTestCase resultNode) var result = testConverter.GetVsTestResults(resultNode, outputNodes ?? EmptyNodes); if (settings.ConsoleOut == 1) { - if (!string.IsNullOrEmpty(result.ConsoleOutput) && result.ConsoleOutput != NL) + if (!result.ConsoleOutput.IsNullOrWhiteSpace() && result.ConsoleOutput != NL) { string msg = result.ConsoleOutput; if (settings.UseTestNameInConsoleOutput) msg = $"{resultNode.Name}: {msg}"; recorder.SendMessage(TestMessageLevel.Informational, msg); } - if (!string.IsNullOrEmpty(resultNode.ReasonMessage)) + if (!resultNode.ReasonMessage.IsNullOrWhiteSpace()) { recorder.SendMessage(TestMessageLevel.Informational, $"{resultNode.Name}: {resultNode.ReasonMessage}"); } diff --git a/src/NUnitTestAdapterTests/NUnitEventListenerTests.cs b/src/NUnitTestAdapterTests/NUnitEventListenerTests.cs index 81f4e967..be70e2fb 100644 --- a/src/NUnitTestAdapterTests/NUnitEventListenerTests.cs +++ b/src/NUnitTestAdapterTests/NUnitEventListenerTests.cs @@ -106,6 +106,29 @@ public void TestFinished_CallsRecordEndCorrectly() Assert.That(testLog.Events[0].TestOutcome, Is.EqualTo(TestOutcome.Passed)); } + /// + /// Issue516 + /// + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + [TestCase("\t")] + [TestCase("\r")] + [TestCase("\n")] + [TestCase("\r\n")] + public void TestFinished_DoNotSendWhiteSpaceToMessages(string data) + { + var testcase = Substitute.For(); + testcase.Name.Returns($"Test1({data})"); + testcase.FullName.Returns($"Issue516.Tests.Test1({data})"); + testcase.Output.Returns($"{data}"); + settings.ConsoleOut.Returns(1); + listener.TestFinished(testcase); + Assert.That(testLog.Events.Count, Is.EqualTo(0)); + } + + + [Test] public void TestFinished_CallsRecordResultCorrectly() {