diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2017-07-19 14:33:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-19 14:33:39 +0300 |
commit | f930e45b1a1d980090e0d7e2251004487367611f (patch) | |
tree | 3cb0707cc7650c8d5e8203b84580f65fa2166ba4 /main/src/core | |
parent | 5af39e9c91b4533d7e857cc67434d54e5b16d5fa (diff) | |
parent | d7997ce8b8a752e7f13bf3a8634d6dd8c5157c57 (diff) |
Merge pull request #2773 from mono/master-fix58123
Fixed 'Bug 58123 - Writing " makes two of characters, but delete only
Diffstat (limited to 'main/src/core')
2 files changed, 28 insertions, 1 deletions
diff --git a/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DeleteActionTests.cs b/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DeleteActionTests.cs index d8fcc9ff1e..d537f0e107 100644 --- a/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DeleteActionTests.cs +++ b/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/DeleteActionTests.cs @@ -215,5 +215,30 @@ namespace Mono.TextEditor.Tests.Actions DeleteActions.NextSubword (data); Check (data, @" $"); } + + [Test] + public void AdvancedBackspaceTests () + { + var data = Create (@"($)", mimeType: "text/x-csharp"); + MonoDevelop.SourceEditor.EditActions.AdvancedBackspace (data); + Check (data, @"$"); + data = Create (@"[$]", mimeType:"text/x-csharp"); + MonoDevelop.SourceEditor.EditActions.AdvancedBackspace (data); + Check (data, @"$"); + data = Create ("\"$\"", mimeType:"text/x-csharp"); + MonoDevelop.SourceEditor.EditActions.AdvancedBackspace (data); + Check (data, @"$"); + data = Create ("'$'", mimeType: "text/x-csharp"); + MonoDevelop.SourceEditor.EditActions.AdvancedBackspace (data); + Check (data, @"$"); + + data = Create (@"// ($)", mimeType: "text/x-csharp"); + MonoDevelop.SourceEditor.EditActions.AdvancedBackspace (data); + Check (data, @"// $)"); + + data = Create (@""" ($)", mimeType: "text/x-csharp"); + MonoDevelop.SourceEditor.EditActions.AdvancedBackspace (data); + Check (data, @""" $)"); + } } } diff --git a/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/TextEditorTestBase.cs b/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/TextEditorTestBase.cs index 6fa47fa552..6446512e13 100644 --- a/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/TextEditorTestBase.cs +++ b/main/src/core/MonoDevelop.TextEditor.Tests/Mono.TextEditor.Tests.DefaultEditActions/TextEditorTestBase.cs @@ -92,11 +92,13 @@ namespace Mono.TextEditor.Tests - public static TextEditorData Create (string content, ITextEditorOptions options = null) + public static TextEditorData Create (string content, ITextEditorOptions options = null, string mimeType = null) { var data = new TextEditorData (); if (options != null) data.Options = options; + if (mimeType != null) + data.Document.MimeType = mimeType; var sb = new StringBuilder (); int caretIndex = -1, selectionStart = -1, selectionEnd = -1; var foldSegments = new List<FoldSegment> (); |