From b5144cc6b7096c575471062769a9e7e0eac8b55c Mon Sep 17 00:00:00 2001 From: Artur Spychaj Date: Tue, 3 Nov 2015 16:33:07 -0800 Subject: [PATCH] Test that namespace can be deleted in EnC --- .../EditAndContinue/ActiveStatementTests.cs | 22 +++++++++++++++++++ .../ActiveStatementDescription.cs | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/EditorFeatures/CSharpTest/EditAndContinue/ActiveStatementTests.cs b/src/EditorFeatures/CSharpTest/EditAndContinue/ActiveStatementTests.cs index dad37e2f143..6a2b94bcfea 100644 --- a/src/EditorFeatures/CSharpTest/EditAndContinue/ActiveStatementTests.cs +++ b/src/EditorFeatures/CSharpTest/EditAndContinue/ActiveStatementTests.cs @@ -622,6 +622,28 @@ static void Foo(int a) edits.VerifyRudeDiagnostics(active); } + [WpfFact] + public void Delete_Entire_Namespace() + { + string src1 = @" +namespace N { + class C + { + static void Main(String[] args) + { + Console.WriteLine(1); + } + } +}"; + string src2 = @""; + + var edits = GetTopEdits(src1, src2); + var active = GetActiveStatements(src1, src2); + + edits.VerifyRudeDiagnostics(active, + Diagnostic(RudeEditKind.Delete, null, "namespace")); + } + #endregion #region Constructors diff --git a/src/EditorFeatures/Test/EditAndContinue/ActiveStatementDescription.cs b/src/EditorFeatures/Test/EditAndContinue/ActiveStatementDescription.cs index c1656fc16da..f9892f098fb 100644 --- a/src/EditorFeatures/Test/EditAndContinue/ActiveStatementDescription.cs +++ b/src/EditorFeatures/Test/EditAndContinue/ActiveStatementDescription.cs @@ -112,7 +112,8 @@ internal static int[] GetIds(string ids) var ids = GetIds(match.Groups["Id"].Value); int absoluteOffset = offset + markedSyntax.Index; - yield return ValueTuple.Create(new TextSpan(absoluteOffset, markedSyntax.Length), ids); + var span = markedSyntax.Length != 0 ? new TextSpan(absoluteOffset, markedSyntax.Length) : new TextSpan(); + yield return ValueTuple.Create(span, ids); foreach (var nestedSpan in GetSpansRecursive(regex, contentGroupName, markedSyntax.Value, absoluteOffset)) { -- GitLab