Skip to content

Commit 57f5176

Browse files
committed
Rename some variables in test case
Add one more test case to test the result of String.difference return sequential edits
1 parent 374160e commit 57f5176

File tree

3 files changed

+39
-12
lines changed

3 files changed

+39
-12
lines changed

Sources/_SwiftSyntaxTestSupport/SourceEditsTestUtils.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ public func getConcurrentEdits(from base: String, to new: String) -> ConcurrentE
3939
}
4040

4141
let sourceEdits = diffArray.map({
42-
return $0.isInsert ? SourceEdit(offset: $0.offset, length: 0, replacementLength: 1) : SourceEdit(offset: $0.offset, length: 1, replacementLength: 0)
42+
if $0.isInsert {
43+
return SourceEdit(offset: $0.offset, length: 0, replacementLength: 1)
44+
} else {
45+
return SourceEdit(offset: $0.offset, length: 1, replacementLength: 0)
46+
}
4347
})
4448

4549
return ConcurrentEdits(fromSequential: sourceEdits)

Tests/SwiftParserTest/IncrementalParsingTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class IncrementalParsingTests: XCTestCase {
4040

4141
let newSource =
4242
"""
43-
struct A {}
43+
struct AA {}
4444
struct B {}
4545
"""
4646

Tests/SwiftSyntaxTestSupportTest/SourceEditsTestUtilsTest.swift

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,52 @@ import SwiftSyntax
1515
import _SwiftSyntaxTestSupport
1616

1717
public class SourceEditsUtilTest: XCTestCase {
18+
public func testStringDifferenceReturnSequentialEdits() {
19+
let base = "0123"
20+
let new = "a0123b"
21+
22+
let diffs = new.difference(from: base)
23+
24+
let edits = diffs.insertions.map({ diff in
25+
switch diff {
26+
case .insert(offset: let offset, element: _, associatedWith: _):
27+
return SourceEdit(offset: offset, length: 0, replacementLength: 1)
28+
case .remove(offset: let offset, element: _, associatedWith: _):
29+
return SourceEdit(offset: offset, length: 0, replacementLength: 1)
30+
}
31+
})
32+
33+
let expectEdits = [
34+
SourceEdit(offset: 0, length: 0, replacementLength: 1),
35+
SourceEdit(offset: 5, length: 0, replacementLength: 1),
36+
]
37+
38+
XCTAssertEqual(edits, expectEdits)
39+
}
40+
1841
public func testDiffOfTwoStringsSimple() throws {
19-
let s1 = "struct A { func f() {"
20-
let s2 = "struct AA { func f() {"
42+
let base = "struct A { func f() {"
43+
let new = "struct AA { func f() {"
2144

22-
let diffs = getConcurrentEdits(from: s1, to: s2)
45+
let diffs = getConcurrentEdits(from: base, to: new)
2346
XCTAssertEqual(diffs.edits.count, 1)
2447

2548
let firstDiff = try XCTUnwrap(diffs.edits.first)
2649
XCTAssertEqual(firstDiff, SourceEdit(offset: 8, length: 0, replacementLength: 1))
2750
}
2851

2952
public func testDiffOfTwoSameStrings() {
30-
let s1 = "0123456"
53+
let base = "0123456"
3154

32-
let diffs = getConcurrentEdits(from: s1, to: s1)
55+
let diffs = getConcurrentEdits(from: base, to: base)
3356
XCTAssert(diffs.edits.isEmpty)
3457
}
3558

3659
public func testDiffOfTwoStrings() {
37-
let s1 = "0123456"
38-
let s2 = "x12456yz"
60+
let base = "0123456"
61+
let new = "x12456yz"
3962

40-
let diffs = getConcurrentEdits(from: s1, to: s2)
63+
let diffs = getConcurrentEdits(from: base, to: new)
4164

4265
let expectedDiffs: [SourceEdit] = [
4366
SourceEdit(offset: 0, length: 1, replacementLength: 1),
@@ -47,8 +70,8 @@ public class SourceEditsUtilTest: XCTestCase {
4770

4871
XCTAssertEqual(diffs.edits, expectedDiffs)
4972

50-
let s3 = applyEdits(expectedDiffs, concurrent: true, to: s1)
73+
let appliedDiffsBase = applyEdits(expectedDiffs, concurrent: true, to: base)
5174

52-
XCTAssertEqual(s3, "?12456??")
75+
XCTAssertEqual(appliedDiffsBase, "?12456??")
5376
}
5477
}

0 commit comments

Comments
 (0)