Skip to content

Commit abbbb66

Browse files
committed
Remove some unnecessary reliance on stdlib details in code-completion test
We won't try to avoid the stdlib completely, but at least try not to check method names on types that might change in the future. For rdar://problem/24621131
1 parent f6153ba commit abbbb66

File tree

4 files changed

+74
-59
lines changed

4 files changed

+74
-59
lines changed

test/SourceKit/CodeComplete/complete_open.swift

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,66 @@
1+
struct Foo {
2+
func advancedFeatures(x: Int) {}
3+
var bigPower: Int = 0
4+
}
15
func foo() {
2-
let x = 1
6+
let x = Foo()
37

48
x.
59
// in comment
610
}
711

8-
// RUN: %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s | FileCheck %s
12+
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s | FileCheck %s
913
// CHECK: key.results: [
10-
// CHECK: key.name: "advancedBy
14+
// CHECK: key.name: "advancedFeatures
1115
// ...
12-
// CHECK: key.name: "bigEndian"
16+
// CHECK: key.name: "bigPower"
1317
// CHECK: ],
1418
// CHECK: key.kind: source.lang.swift.codecomplete.group
1519
// CHECK: key.name: ""
1620

17-
// RUN: %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
18-
// RUN: == -req=complete.close -pos=4:5 %s -- %s \
19-
// RUN: == -req=complete.open -pos=4:5 %s -- %s \
20-
// RUN: == -req=complete.close -pos=4:5 %s -- %s > %t.close
21+
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
22+
// RUN: == -req=complete.close -pos=8:5 %s -- %s \
23+
// RUN: == -req=complete.open -pos=8:5 %s -- %s \
24+
// RUN: == -req=complete.close -pos=8:5 %s -- %s > %t.close
2125
// RUN: FileCheck -check-prefix=CLOSE %s < %t.close
22-
// CLOSE: key.name: "advancedBy
23-
// CLOSE: key.name: "advancedBy
26+
// CLOSE: key.name: "advancedFeatures
27+
// CLOSE: key.name: "advancedFeatures
2428

25-
// RUN: %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
26-
// RUN: == -req=complete.open -pos=3:1 %s -- %s > %t.open2diff
29+
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
30+
// RUN: == -req=complete.open -pos=7:1 %s -- %s > %t.open2diff
2731
// RUN: FileCheck -check-prefix=OPEN2DIFF %s < %t.open2diff
28-
// OPEN2DIFF: key.name: "advancedBy
32+
// OPEN2DIFF: key.name: "advancedFeatures
2933
// OPEN2DIFF: key.name: "foo()
30-
// OPEN2DIFF-NOT: key.name: "advancedBy
34+
// OPEN2DIFF-NOT: key.name: "advancedFeatures
3135

32-
// RUN: not %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
33-
// RUN: == -req=complete.open -pos=4:5 %s -- %s 2> %t.open2
36+
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
37+
// RUN: == -req=complete.open -pos=8:5 %s -- %s 2> %t.open2
3438
// RUN: FileCheck -check-prefix=OPEN2 %s < %t.open2
35-
// OPEN2: error response (Request Failed): codecomplete.open: code completion session for '{{.*}}', 30 already exists
39+
// OPEN2: error response (Request Failed): codecomplete.open: code completion session for '{{.*}}', {{.*}} already exists
3640

37-
// RUN: not %sourcekitd-test -req=complete.close -pos=3:1 %s -- %s 2> %t.closefail1
41+
// RUN: not %sourcekitd-test -req=complete.close -pos=7:1 %s -- %s 2> %t.closefail1
3842
// RUN: FileCheck -check-prefix=CLOSEFAIL %s < %t.closefail1
39-
// RUN: not %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
40-
// RUN: == -req=complete.close -pos=3:1 %s -- %s 2> %t.closefail2
43+
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
44+
// RUN: == -req=complete.close -pos=7:1 %s -- %s 2> %t.closefail2
4145
// RUN: FileCheck -check-prefix=CLOSEFAIL %s < %t.closefail2
42-
// RUN: not %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
43-
// RUN: == -req=complete.close -pos=4:5 %s -- %s \
44-
// RUN: == -req=complete.close -pos=4:5 %s -- %s 2> %t.closefail3
46+
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
47+
// RUN: == -req=complete.close -pos=8:5 %s -- %s \
48+
// RUN: == -req=complete.close -pos=8:5 %s -- %s 2> %t.closefail3
4549
// RUN: FileCheck -check-prefix=CLOSEFAIL %s < %t.closefail3
4650
// CLOSEFAIL: error response (Request Failed): codecomplete.close: no code completion session for '{{.*}}'
4751

48-
// RUN: not %sourcekitd-test -req=complete.update -pos=3:1 %s -- %s 2> %t.updatefail1
52+
// RUN: not %sourcekitd-test -req=complete.update -pos=7:1 %s -- %s 2> %t.updatefail1
4953
// RUN: FileCheck -check-prefix=UPDATEFAIL %s < %t.updatefail1
50-
// RUN: not %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
51-
// RUN: == -req=complete.update -pos=3:1 %s -- %s 2> %t.updatefail2
54+
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
55+
// RUN: == -req=complete.update -pos=7:1 %s -- %s 2> %t.updatefail2
5256
// RUN: FileCheck -check-prefix=UPDATEFAIL %s < %t.updatefail2
53-
// RUN: not %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
54-
// RUN: == -req=complete.close -pos=4:5 %s -- %s \
55-
// RUN: == -req=complete.update -pos=4:5 %s -- %s 2> %t.updatefail3
57+
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
58+
// RUN: == -req=complete.close -pos=8:5 %s -- %s \
59+
// RUN: == -req=complete.update -pos=8:5 %s -- %s 2> %t.updatefail3
5660
// RUN: FileCheck -check-prefix=UPDATEFAIL %s < %t.updatefail3
5761
// UPDATEFAIL: error response (Request Failed): codecomplete.update: no code completion session for '{{.*}}'
5862

59-
// RUN: %sourcekitd-test -req=complete.open -pos=5:9 %s -- %s | FileCheck %s -check-prefix=EMPTY
63+
// RUN: %sourcekitd-test -req=complete.open -pos=9:9 %s -- %s | FileCheck %s -check-prefix=EMPTY
6064
// EMPTY: key.results: [
6165
// EMPTY-NEXT: ],
6266
// EMPTY-NEXT: key.kind: source.lang.swift.codecomplete.group

test/SourceKit/CodeComplete/complete_operators.swift

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,48 @@
22
// RUN: %complete-test -add-inner-results -tok=INT_OPERATORS_INNER %s | FileCheck %s -check-prefix=INNER
33
// RUN: %complete-test -raw -hide-none -tok=INT_OPERATORS %s | FileCheck %s -check-prefix=RAW
44

5+
struct MyInt {
6+
var bigPowers: Int { return 1 }
7+
}
8+
func +(x: MyInt, y: MyInt) -> MyInt { return x }
9+
postfix func ++(inout x: MyInt) -> MyInt { return x }
10+
func !=(x: MyInt, y: MyInt) -> Bool { return true }
11+
512
let xxxx = 1
6-
func test1(var x: Int) {
13+
func test1(var x: MyInt) {
714
x#^INT_OPERATORS^#
815
}
916
// CHECK: .
1017
// CHECK: !=
1118
// CHECK: +
1219
// CHECK: ++
1320

14-
func test2(var x: Int) {
21+
func test2(var x: MyInt) {
1522
#^INT_OPERATORS_INNER,x^#
1623
}
1724
// INNER: x.
1825
// INNER: x+
1926
// INNER: x++
2027
// INNER: xxxx
21-
// INNER: x.bigEndian
28+
// INNER: x.bigPowers
2229

2330
// RAW: {
2431
// RAW: key.kind: source.lang.swift.decl.function.operator.infix,
2532
// RAW: key.name: "!=",
26-
// RAW: key.sourcetext: " != <#T##Int#>",
33+
// RAW: key.sourcetext: " != <#T##MyInt#>",
2734
// RAW: key.description: "!=",
2835
// RAW: key.typename: "Bool",
2936
// RAW: {
3037
// RAW: key.kind: source.lang.swift.decl.function.operator.infix,
3138
// RAW: key.name: "+",
32-
// RAW: key.sourcetext: " + <#T##Int#>",
39+
// RAW: key.sourcetext: " + <#T##MyInt#>",
3340
// RAW: key.description: "+",
34-
// RAW: key.typename: "Int",
41+
// RAW: key.typename: "MyInt",
3542
// RAW: },
3643
// RAW: {
3744
// RAW: key.kind: source.lang.swift.decl.function.operator.postfix,
3845
// RAW: key.name: "++",
3946
// RAW: key.sourcetext: "++",
4047
// RAW: key.description: "++",
41-
// RAW: key.typename: "Int",
48+
// RAW: key.typename: "MyInt",
4249
// RAW: },

test/SourceKit/CodeComplete/complete_test.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
// RUN: %sourcekitd-test -req=complete.open -pos=49:5 %s -- %s > %t.sourcekitd-test
1515
// RUN: diff %t.complete-test %t.sourcekitd-test
1616

17+
struct MyInt {
18+
func advancedFeatures(x: Int) {}
19+
func advancedFeatures(x: Int, y: Int) {}
20+
var bigPower: Int = 0
21+
func descriptiveIntention(x: Int) {}
22+
}
23+
1724
func foo() {
18-
let x = 1
25+
let x = MyInt()
1926
x.#^INT_DOT^#
20-
// INT_DOT: {{^}}advancedBy(n:
21-
// INT_DOT: {{^}}bigEndian{{$}}
22-
// INT_DOT: {{^}}byteSwapped{{$}}
23-
// INT_DOT: {{^}}description{{$}}
24-
// INT_DOT: {{^}}distanceTo(other: Int){{$}}
25-
// INT_DOT: {{^}}hashValue{{$}}
26-
// INT_DOT: {{^}}littleEndian{{$}}
27-
// INT_DOT: {{^}}predecessor(){{$}}
28-
// INT_DOT: {{^}}successor(){{$}}
29-
// INT_DOT: {{^}}toIntMax(){{$}}
27+
// INT_DOT: {{^}}advancedFeatures(x:
28+
// INT_DOT: {{^}}bigPower{{$}}
29+
// INT_DOT: {{^}}descriptiveIntention(x: Int){{$}}
3030
}
3131

3232
func bar() {

test/SourceKit/CodeComplete/complete_update.swift

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1+
struct Foo {
2+
func advancedFeatures(x: Int) {}
3+
var bigPower: Int = 0
4+
}
15
func foo() {
2-
let x = 1
6+
let x = Foo()
37

48
x.
59
}
610

7-
// RUN: %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s > %t.open
11+
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s > %t.open
812

9-
// RUN: %sourcekitd-test -req=complete.open -pos=4:5 %s -- %s \
10-
// RUN: == -req=complete.update -pos=4:5 %s -- %s \
11-
// RUN: == -req=complete.update -pos=4:5 %s -- %s > %t.update
13+
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
14+
// RUN: == -req=complete.update -pos=8:5 %s -- %s \
15+
// RUN: == -req=complete.update -pos=8:5 %s -- %s > %t.update
1216
// RUN: FileCheck %s < %t.update
13-
// CHECK: key.name: "advancedBy
17+
// CHECK: key.name: "advancedFeatures
1418
// CHECK: key.kind: source.lang.swift.codecomplete.group
15-
// CHECK: key.name: "advancedBy
19+
// CHECK: key.name: "advancedFeatures
1620
// CHECK: key.kind: source.lang.swift.codecomplete.group
17-
// CHECK: key.name: "advancedBy
21+
// CHECK: key.name: "advancedFeatures
1822
// CHECK: key.kind: source.lang.swift.codecomplete.group
1923

2024
// RUN: cat %t.open %t.open %t.open > %t.check
@@ -31,9 +35,9 @@ func test(x: X) {
3135
}
3236

3337
// Update can have different grouping settings
34-
// RUN: %sourcekitd-test -req=complete.open -pos=30:5 -req-opts=group.stems=0,group.overloads=0 %s -- %s \
35-
// RUN: == -req=complete.update -pos=30:5 -req-opts=group.stems=1 %s -- %s \
36-
// RUN: == -req=complete.update -pos=30:5 -req-opts=group.stems=0,group.overloads=0 %s -- %s > %t.update.groupings
38+
// RUN: %sourcekitd-test -req=complete.open -pos=34:5 -req-opts=group.stems=0,group.overloads=0 %s -- %s \
39+
// RUN: == -req=complete.update -pos=34:5 -req-opts=group.stems=1 %s -- %s \
40+
// RUN: == -req=complete.update -pos=34:5 -req-opts=group.stems=0,group.overloads=0 %s -- %s > %t.update.groupings
3741
// RUN: FileCheck %s -check-prefix=ONE_GROUP < %t.update.groupings
3842
// ONE_GROUP-NOT: key.name: "aaa"
3943
// ONE_GROUP: key.kind: source.lang.swift.codecomplete.group,

0 commit comments

Comments
 (0)