Skip to content

Commit 2bbb5b5

Browse files
Add a couple active statement tests for C# field keyword in auto-props
1 parent 11d4e3d commit 2bbb5b5

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

src/Features/CSharpTest/EditAndContinue/ActiveStatementTests.cs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2199,6 +2199,52 @@ class C
21992199
capabilities: EditAndContinueCapabilities.AddMethodToExistingType);
22002200
}
22012201

2202+
[Fact]
2203+
public void Property_Update_ExpressionBodyToAutoProp_FieldAccess()
2204+
{
2205+
var src1 = @"
2206+
class C
2207+
{
2208+
public int P => <AS:0>1</AS:0>;
2209+
}
2210+
";
2211+
var src2 = @"
2212+
class C
2213+
{
2214+
public int P => <AS:0>field</AS:0>;
2215+
}
2216+
";
2217+
var edits = GetTopEdits(src1, src2);
2218+
var active = GetActiveStatements(src1, src2);
2219+
2220+
edits.VerifySemanticDiagnostics(
2221+
active,
2222+
capabilities: EditAndContinueCapabilities.AddInstanceFieldToExistingType);
2223+
}
2224+
2225+
[Fact]
2226+
public void Property_Update_Accessor_ExpressionBodyToAutoProp_FieldAccess()
2227+
{
2228+
var src1 = @"
2229+
class C
2230+
{
2231+
public int P { get => <AS:0>1</AS:0>; }
2232+
}
2233+
";
2234+
var src2 = @"
2235+
class C
2236+
{
2237+
public int P { get => <AS:0>field</AS:0>; }
2238+
}
2239+
";
2240+
var edits = GetTopEdits(src1, src2);
2241+
var active = GetActiveStatements(src1, src2);
2242+
2243+
edits.VerifySemanticDiagnostics(
2244+
active,
2245+
capabilities: EditAndContinueCapabilities.AddInstanceFieldToExistingType);
2246+
}
2247+
22022248
[Fact]
22032249
public void Property_Auto_Record_ReplacingNonPrimaryWithPrimary_Getter()
22042250
{

0 commit comments

Comments
 (0)