Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMike Krüger <mikkrg@microsoft.com>2018-07-16 12:40:47 +0300
committerMike Krüger <mikkrg@microsoft.com>2018-07-16 12:40:47 +0300
commitf07b396c534fb8fec780612b83ff3893acaf364c (patch)
tree95a9d0268f2b37147ffdbdd9f38d48b9f3763899 /main
parent8aa00c4b8423485115e158b0766c918eca94de14 (diff)
Fixes issue #3869 "[TestCaseSource ("xzy")]" isn't seen as a test in
the text editor. No dot next to it. TODO: Merge interfaces in the next AP break.
Diffstat (limited to 'main')
-rw-r--r--main/src/addins/CSharpBinding/MonoDevelop.CSharp.UnitTests/UnitTestTextEditorExtension.cs2
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelopNUnit.addin.xml1
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs12
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestMarkersExtension.cs5
-rw-r--r--main/tests/MonoDevelop.CSharpBinding.Tests/MonoDevelop.CSharpBinding/UnitTesteditorIntegrationTests.cs4
5 files changed, 21 insertions, 3 deletions
diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.UnitTests/UnitTestTextEditorExtension.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.UnitTests/UnitTestTextEditorExtension.cs
index ebbf4d0174..e9227309b5 100644
--- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.UnitTests/UnitTestTextEditorExtension.cs
+++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.UnitTests/UnitTestTextEditorExtension.cs
@@ -181,7 +181,7 @@ namespace MonoDevelop.CSharp
IUnitTestMarkers markers = null;
foreach (var attr in method.GetAttributes ()) {
var cname = attr.AttributeClass.GetFullName ();
- markers = unitTestMarkers.FirstOrDefault (m => (m.TestMethodAttributeMarker == cname || m.TestCaseMethodAttributeMarker == cname));
+ markers = unitTestMarkers.FirstOrDefault (m => (m.TestMethodAttributeMarker == cname || m.TestCaseMethodAttributeMarker == cname || (m as IUnitTestMarkers2)?.TestCaseSourceAttributeMarker == cname));
if (markers != null) {
if (test == null) {
TagClass (parentClass, markers);
diff --git a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelopNUnit.addin.xml b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelopNUnit.addin.xml
index 5d867cf770..f9697f81fb 100644
--- a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelopNUnit.addin.xml
+++ b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelopNUnit.addin.xml
@@ -27,6 +27,7 @@
<TestMarkers
testMethodAttributeMarker="NUnit.Framework.TestAttribute"
testCaseMethodAttributeMarker="NUnit.Framework.TestCaseAttribute"
+ testCaseSourceMethodAttributeMarker="NUnit.Framework.TestCaseSourceAttribute"
ignoreTestMethodAttributeMarker="NUnit.Framework.IgnoreAttribute"
ignoreTestClassAttributeMarker="NUnit.Framework.IgnoreAttribute"
/>
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs
index e7ebe44b4d..1f91abddaf 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs
@@ -386,5 +386,17 @@ namespace MonoDevelop.UnitTesting
/// <value>The ignore test method attribute marker.</value>
string IgnoreTestClassAttributeMarker { get; }
}
+
+ /// <summary>
+ /// TODO: Merge with IUnitTestMarkers - possible replace it with an abstract class in next API break.
+ /// </summary>
+ public interface IUnitTestMarkers2 : IUnitTestMarkers
+ {
+ /// <summary>
+ /// TestCaseSourceAttribute is used on a parameterized test method to identify the property, method or field that will provide the required arguments. It has to be applied to a test method.
+ /// </summary>
+ /// <value>The test method attribute marker.</value>
+ string TestCaseSourceAttributeMarker { get; }
+ }
}
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestMarkersExtension.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestMarkersExtension.cs
index 530bc19deb..0359cc308e 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestMarkersExtension.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestMarkersExtension.cs
@@ -28,7 +28,7 @@ using Mono.Addins;
namespace MonoDevelop.UnitTesting
{
- class UnitTestMarkersExtension: ExtensionNode, IUnitTestMarkers
+ class UnitTestMarkersExtension: ExtensionNode, IUnitTestMarkers2
{
[NodeAttribute ("testMethodAttributeMarker")]
public string TestMethodAttributeMarker { get; set; }
@@ -36,6 +36,9 @@ namespace MonoDevelop.UnitTesting
[NodeAttribute ("testCaseMethodAttributeMarker")]
public string TestCaseMethodAttributeMarker { get; set; }
+ [NodeAttribute ("testCaseSourceMethodAttributeMarker")]
+ public string TestCaseSourceAttributeMarker { get; set; }
+
[NodeAttribute ("ignoreTestMethodAttributeMarker")]
public string IgnoreTestMethodAttributeMarker { get; set; }
diff --git a/main/tests/MonoDevelop.CSharpBinding.Tests/MonoDevelop.CSharpBinding/UnitTesteditorIntegrationTests.cs b/main/tests/MonoDevelop.CSharpBinding.Tests/MonoDevelop.CSharpBinding/UnitTesteditorIntegrationTests.cs
index 63a8067a70..df0555a64e 100644
--- a/main/tests/MonoDevelop.CSharpBinding.Tests/MonoDevelop.CSharpBinding/UnitTesteditorIntegrationTests.cs
+++ b/main/tests/MonoDevelop.CSharpBinding.Tests/MonoDevelop.CSharpBinding/UnitTesteditorIntegrationTests.cs
@@ -51,10 +51,11 @@ namespace MonoDevelop.CSharpBinding.Tests
yield return new UnitTestTextEditorExtension ();
}
- class UnitTestMarkers: IUnitTestMarkers
+ class UnitTestMarkers: IUnitTestMarkers2
{
public string TestMethodAttributeMarker { get; set; }
public string TestCaseMethodAttributeMarker { get; set; }
+ public string TestCaseSourceAttributeMarker { get; set; }
public string IgnoreTestMethodAttributeMarker { get; set; }
public string IgnoreTestClassAttributeMarker { get; set; }
}
@@ -63,6 +64,7 @@ namespace MonoDevelop.CSharpBinding.Tests
new UnitTestMarkers {
TestMethodAttributeMarker = "NUnit.Framework.TestAttribute",
TestCaseMethodAttributeMarker = "NUnit.Framework.TestCaseAttribute",
+ TestCaseSourceAttributeMarker = "NUnit.Framework.TestCaseSourceAttribute",
IgnoreTestMethodAttributeMarker = "NUnit.Framework.IgnoreAttribute",
IgnoreTestClassAttributeMarker = "NUnit.Framework.IgnoreAttribute"
}