blob: 97c3ba1ae8c196e4fa4642847a63731a6fbbde1f [file] [log] [blame]
struct Foo {
func advancedFeatures(x: Int) {}
var bigPower: Int = 0
}
func foo() {
let x = Foo()
x.
// in comment
}
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s | %FileCheck %s
// CHECK: key.results: [
// CHECK: key.name: "advancedFeatures
// ...
// CHECK: key.name: "bigPower"
// CHECK: ],
// CHECK: key.kind: source.lang.swift.codecomplete.group
// CHECK: key.name: ""
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.close -pos=8:5 %s -- %s \
// RUN: == -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.close -pos=8:5 %s -- %s > %t.close
// RUN: %FileCheck -check-prefix=CLOSE %s < %t.close
// CLOSE: key.name: "advancedFeatures
// CLOSE: key.name: "advancedFeatures
// RUN: %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.open -pos=7:1 %s -- %s > %t.open2diff
// RUN: %FileCheck -check-prefix=OPEN2DIFF %s < %t.open2diff
// OPEN2DIFF: key.name: "advancedFeatures
// OPEN2DIFF: key.name: "foo()
// OPEN2DIFF-NOT: key.name: "advancedFeatures
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.open -pos=8:5 %s -- %s 2> %t.open2
// RUN: %FileCheck -check-prefix=OPEN2 %s < %t.open2
// OPEN2: error response (Request Failed): codecomplete.open: code completion session for '{{.*}}', {{.*}} already exists
// RUN: not %sourcekitd-test -req=complete.close -pos=7:1 %s -- %s 2> %t.closefail1
// RUN: %FileCheck -check-prefix=CLOSEFAIL %s < %t.closefail1
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.close -pos=7:1 %s -- %s 2> %t.closefail2
// RUN: %FileCheck -check-prefix=CLOSEFAIL %s < %t.closefail2
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.close -pos=8:5 %s -- %s \
// RUN: == -req=complete.close -pos=8:5 %s -- %s 2> %t.closefail3
// RUN: %FileCheck -check-prefix=CLOSEFAIL %s < %t.closefail3
// CLOSEFAIL: error response (Request Failed): codecomplete.close: no code completion session for '{{.*}}'
// RUN: not %sourcekitd-test -req=complete.update -pos=7:1 %s -- %s 2> %t.updatefail1
// RUN: %FileCheck -check-prefix=UPDATEFAIL %s < %t.updatefail1
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.update -pos=7:1 %s -- %s 2> %t.updatefail2
// RUN: %FileCheck -check-prefix=UPDATEFAIL %s < %t.updatefail2
// RUN: not %sourcekitd-test -req=complete.open -pos=8:5 %s -- %s \
// RUN: == -req=complete.close -pos=8:5 %s -- %s \
// RUN: == -req=complete.update -pos=8:5 %s -- %s 2> %t.updatefail3
// RUN: %FileCheck -check-prefix=UPDATEFAIL %s < %t.updatefail3
// UPDATEFAIL: error response (Request Failed): codecomplete.update: no code completion session for '{{.*}}'
// RUN: %sourcekitd-test -req=complete.open -pos=9:9 %s -- %s | %FileCheck %s -check-prefix=EMPTY
// EMPTY: key.results: [
// EMPTY-NEXT: ],
// EMPTY-NEXT: key.kind: source.lang.swift.codecomplete.group
// EMPTY-NEXT: key.name: ""