From df3a84899c27b384396b1eb6790897b1df3d39c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Wed, 12 Dec 2018 14:47:39 +0100 Subject: Fixes VSTS Bug 731943: [Feedback] xUnit Fact DisplayName not shown in test explorer if string has a period at the end. https://devdiv.visualstudio.com/DevDiv/_workitems/edit/731943 --- .../VsTestUnitTestTests.cs | 1 + .../MonoDevelop.UnitTesting.VsTest/VsTestUnitTest.cs | 17 ++++------------- 2 files changed, 5 insertions(+), 13 deletions(-) (limited to 'main/src/addins/MonoDevelop.UnitTesting') diff --git a/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.Tests/MonoDevelop.UnitTesting.Tests/VsTestUnitTestTests.cs b/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.Tests/MonoDevelop.UnitTesting.Tests/VsTestUnitTestTests.cs index 4ae6127211..8fa4dcb98d 100644 --- a/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.Tests/MonoDevelop.UnitTesting.Tests/VsTestUnitTestTests.cs +++ b/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.Tests/MonoDevelop.UnitTesting.Tests/VsTestUnitTestTests.cs @@ -59,6 +59,7 @@ namespace MonoDevelop.UnitTesting.Tests [TestCase ("A.B.MyTest", "A.B.MyTestDisplayName", "A", "B", "MyTestDisplayName")] [TestCase ("A.B.MyTest", "A.B.MyTest(text: \"ab\")", "A", "B", "MyTest(text: \"ab\")")] [TestCase ("A.B.MyTest", "A.B.MyTest(text: \"a.b\")", "A", "B", "MyTest(text: \"a.b\")")] + [TestCase ("MyClass.MyTest", "Name with dot.", "", "MyClass", "Name with dot.")] public void TestName ( string fullyQualifiedName, string displayName, diff --git a/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.VsTest/VsTestUnitTest.cs b/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.VsTest/VsTestUnitTest.cs index e78a0a9903..64af96eb9e 100644 --- a/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.VsTest/VsTestUnitTest.cs +++ b/main/src/addins/MonoDevelop.UnitTesting/MonoDevelop.UnitTesting.VsTest/VsTestUnitTest.cs @@ -91,7 +91,6 @@ namespace MonoDevelop.UnitTesting.VsTest sourceCodeLocation = new SourceCodeLocation (source.SourceTree.FilePath, line.StartLinePosition.Line, line.StartLinePosition.Character); }).Ignore (); } - int index = test.FullyQualifiedName.LastIndexOf ('.'); if (index > 0) { FixtureTypeName = test.FullyQualifiedName.Substring (0, index); @@ -107,18 +106,10 @@ namespace MonoDevelop.UnitTesting.VsTest FixtureTypeNamespace = string.Empty; FixtureTypeName = string.Empty; } - - int openBraceIndex = test.DisplayName.IndexOf ('('); - if (openBraceIndex == -1) { - index = test.DisplayName.LastIndexOf ('.'); - } else { - index = test.DisplayName.LastIndexOf ('.', openBraceIndex); - } - - if (index > 0) { - name = test.DisplayName.Substring (index + 1); - } else { - name = test.DisplayName; + name = test.DisplayName; + var obsoletePrefix = string.IsNullOrEmpty (FixtureTypeNamespace) ? FixtureTypeName : FixtureTypeNamespace + "." + FixtureTypeName; + if (test.DisplayName.StartsWith(obsoletePrefix, StringComparison.Ordinal) && test.DisplayName [obsoletePrefix.Length] == '.') { + name = test.DisplayName.Substring (obsoletePrefix.Length + 1); } } -- cgit v1.2.3