File: basic.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (40 lines) | stat: -rw-r--r-- 1,585 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
struct Foo {
  static func foo(a: () -> Int) {}
  func qux(x: Int, y: () -> Int ) {}
}

func testTrailingClosure() -> String {
  Foo.foo(a: { 1 })
  Foo.bar(a: { print(3); return 1 })
  Foo().qux(x: 1, y: { 1 })
  let _ = Foo().quux(x: 1, y: { 1 })

  [1,2,3]
    .filter({ $0 % 2 == 0 })
    .map({ $0 + 1 })
}

func foobar(first: String? = nil, closure: () -> Void) { fatalError() }
func blah() {
  _ = foobar(closure: { print("foo") })
}
// RUN: %empty-directory(%t.result)

// RUN: %refactor -trailingclosure -source-filename %s -pos=7:3 > %t.result/L7.swift
// RUN: diff -u %S/Outputs/basic/L7.swift.expected %t.result/L7.swift

// RUN: %refactor -trailingclosure -source-filename %s -pos=8:11 > %t.result/L8.swift
// RUN: diff -u %S/Outputs/basic/L8.swift.expected %t.result/L8.swift

// RUN: %refactor -trailingclosure -source-filename %s -pos=9:8 > %t.result/L9.swift
// RUN: diff -u %S/Outputs/basic/L9.swift.expected %t.result/L9.swift

// RUN: %refactor -trailingclosure -source-filename %s -pos=10:17 > %t.result/L10.swift
// RUN: diff -u %S/Outputs/basic/L10.swift.expected %t.result/L10.swift

// RUN: %refactor -trailingclosure -source-filename %s -pos=13:5 > %t.result/L13.swift
// RUN: diff -u %S/Outputs/basic/L13.swift.expected %t.result/L13.swift
// RUN: %refactor -trailingclosure -source-filename %s -pos=14:5 > %t.result/L14.swift
// RUN: diff -u %S/Outputs/basic/L14.swift.expected %t.result/L14.swift
// RUN: %refactor -trailingclosure -source-filename %s -pos=19:7 > %t.result/L19.swift
// RUN: diff -u %S/Outputs/basic/L19.swift.expected %t.result/L19.swift