Skip to content

Commit 3dfd374

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 3dfd374

File tree

3 files changed

+42
-12
lines changed

3 files changed

+42
-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: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,55 @@ import SwiftSyntax
1515
import _SwiftSyntaxTestSupport
1616

1717
public class SourceEditsUtilTest: XCTestCase {
18+
public func testStringDifferenceReturnSequentialEdits() {
19+
let base = "\n2sad21"
20+
let new = "12ad21xy"
21+
22+
let diffs = new.difference(from: base)
23+
24+
let edits = diffs.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: 1, replacementLength: 0)
30+
}
31+
})
32+
33+
let expectEdits = [
34+
SourceEdit(offset: 2, length: 1, replacementLength: 0),
35+
SourceEdit(offset: 0, length: 1, replacementLength: 0),
36+
SourceEdit(offset: 0, length: 0, replacementLength: 1),
37+
SourceEdit(offset: 6, length: 0, replacementLength: 1),
38+
SourceEdit(offset: 7, length: 0, replacementLength: 1),
39+
]
40+
41+
XCTAssertEqual(edits, expectEdits)
42+
}
43+
1844
public func testDiffOfTwoStringsSimple() throws {
19-
let s1 = "struct A { func f() {"
20-
let s2 = "struct AA { func f() {"
45+
let base = "struct A { func f() {"
46+
let new = "struct AA { func f() {"
2147

22-
let diffs = getConcurrentEdits(from: s1, to: s2)
48+
let diffs = getConcurrentEdits(from: base, to: new)
2349
XCTAssertEqual(diffs.edits.count, 1)
2450

2551
let firstDiff = try XCTUnwrap(diffs.edits.first)
2652
XCTAssertEqual(firstDiff, SourceEdit(offset: 8, length: 0, replacementLength: 1))
2753
}
2854

2955
public func testDiffOfTwoSameStrings() {
30-
let s1 = "0123456"
56+
let base = "0123456"
3157

32-
let diffs = getConcurrentEdits(from: s1, to: s1)
58+
let diffs = getConcurrentEdits(from: base, to: base)
3359
XCTAssert(diffs.edits.isEmpty)
3460
}
3561

3662
public func testDiffOfTwoStrings() {
37-
let s1 = "0123456"
38-
let s2 = "x12456yz"
63+
let base = "0123456"
64+
let new = "x12456yz"
3965

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

4268
let expectedDiffs: [SourceEdit] = [
4369
SourceEdit(offset: 0, length: 1, replacementLength: 1),
@@ -47,8 +73,8 @@ public class SourceEditsUtilTest: XCTestCase {
4773

4874
XCTAssertEqual(diffs.edits, expectedDiffs)
4975

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

52-
XCTAssertEqual(s3, "?12456??")
78+
XCTAssertEqual(appliedDiffsBase, "?12456??")
5379
}
5480
}

0 commit comments

Comments
 (0)