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
diff options
context:
space:
mode:
authorMike Krüger <mikkrg@microsoft.com>2019-03-22 13:12:59 +0300
committerMike Krüger <mikkrg@microsoft.com>2019-03-27 09:16:10 +0300
commit13dc868cd6fb2dd839003a747d4cb124e87af215 (patch)
tree613940fa0f5f24112122e3b978ac92566f03d4e1 /main/src/addins/Xml/Tests
parent58d77c5ab1ec6f695e68adcc6b4786d4e467e082 (diff)
Fixes VSTS Bug 826321: [Feedback] XAML Editor: When a closing tag already has '</' present, choosing the closing element from the completion window enters an invalid closing tag such as <//ContentView>
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/826321
Diffstat (limited to 'main/src/addins/Xml/Tests')
-rw-r--r--main/src/addins/Xml/Tests/CodeCompletion/XmlCodeCompletionTests.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/main/src/addins/Xml/Tests/CodeCompletion/XmlCodeCompletionTests.cs b/main/src/addins/Xml/Tests/CodeCompletion/XmlCodeCompletionTests.cs
index 5ffe1c26ce..92afb0b270 100644
--- a/main/src/addins/Xml/Tests/CodeCompletion/XmlCodeCompletionTests.cs
+++ b/main/src/addins/Xml/Tests/CodeCompletion/XmlCodeCompletionTests.cs
@@ -6,6 +6,7 @@ using MonoDevelop.Ide.Editor.Extension;
using MonoDevelop.Xml.Editor;
using NUnit.Framework;
using MonoDevelop.Ide.CodeCompletion;
+using System.Linq;
namespace MonoDevelop.Xml.Tests.CodeCompletion
{
@@ -22,6 +23,46 @@ namespace MonoDevelop.Xml.Tests.CodeCompletion
await ext.TriggerCompletion (Ide.CodeCompletion.CompletionTriggerReason.CompletionCommand);
ext.KeyPress (KeyDescriptor.FromGtk (Gdk.Key.colon, ':', Gdk.ModifierType.None));
Assert.IsTrue (CompletionWindowManager.IsVisible);
+ CompletionWindowManager.Wnd.HideWindow ();
+ }
+ }
+
+ /// <summary>
+ /// FeedbackTicket 739349: XAML Editor: When a closing tag already has '</' present, choosing the closing element from the completion window enters an invalid closing tag such as <//ContentView>
+ /// </summary>
+ [Test]
+ public async Task TestVSTS739349 ()
+ {
+ const string input = @"
+<Foo>
+</F";
+ using (var testCase = await SetupTestCase (input, input.Length)) {
+ var doc = testCase.Document;
+ var ext = doc.GetContent<BaseXmlEditorExtension> ();
+ ext.CompletionWidget = doc.Editor.GetViewContent ().GetContent<ICompletionWidget> ();
+ await ext.TriggerCompletion (Ide.CodeCompletion.CompletionTriggerReason.CompletionCommand);
+ Assert.IsTrue (CompletionWindowManager.IsVisible);
+
+ Assert.AreEqual ("Foo>", CompletionWindowManager.Wnd.SelectedItem.DisplayText);
+ CompletionWindowManager.Wnd.HideWindow ();
+ }
+ }
+
+ [Test]
+ public async Task TestVSTS739349_Case2 ()
+ {
+ const string input = @"
+<Foo>
+<";
+ using (var testCase = await SetupTestCase (input, input.Length)) {
+ var doc = testCase.Document;
+ var ext = doc.GetContent<BaseXmlEditorExtension> ();
+ ext.CompletionWidget = doc.Editor.GetViewContent ().GetContent<ICompletionWidget> ();
+ await ext.TriggerCompletion (Ide.CodeCompletion.CompletionTriggerReason.CompletionCommand);
+ Assert.IsTrue (CompletionWindowManager.IsVisible);
+ var list = CompletionWindowManager.Wnd.GetFilteredItems ();
+ Assert.IsTrue (list.Any (i => i.DisplayText == "/Foo>"));
+ CompletionWindowManager.Wnd.HideWindow ();
}
}