File: DarwinAPI.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 (113 lines) | stat: -rw-r--r-- 3,085 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// RUN: %target-run-simple-swift
// REQUIRES: executable_test

// REQUIRES: objc_interop

import StdlibUnittest


import Foundation

var DarwinBooleanAPI = TestSuite("DarwinBooleanAPI")

DarwinBooleanAPI.test("init") {
  do {
    let nativeTrue = true
    let true1 = DarwinBoolean(nativeTrue)
    let true2: DarwinBoolean = true
    expectEqual(1, unsafeBitCast(true1, to: UInt8.self))
    expectEqual(1, unsafeBitCast(true2, to: UInt8.self))
  }
  do {
    let nativeFalse = false
    let false1 = DarwinBoolean(nativeFalse)
    let false2: DarwinBoolean = false
    expectEqual(0, unsafeBitCast(false1, to: UInt8.self))
    expectEqual(0, unsafeBitCast(false2, to: UInt8.self))
  }
}

DarwinBooleanAPI.test("boolValue") {
  do {
    let nativeTrue = true
    let trueValue: DarwinBoolean = true
    expectEqual(nativeTrue, trueValue.boolValue)
  }

  do {
    let nativeFalse = false
    let falseValue: DarwinBoolean = false
    expectEqual(nativeFalse, falseValue.boolValue)
  }
}

DarwinBooleanAPI.test("boolValue/extra values") {
  let rawValue: UInt8 = 2
  let otherValue = unsafeBitCast(rawValue, to: DarwinBoolean.self)
  expectTrue(otherValue.boolValue)
}

DarwinBooleanAPI.test("Boolean") {
  var trueValue: DarwinBoolean = true

  var success = false
  if trueValue.boolValue {
    success = true
  } else {
    expectUnreachable()
  }
  expectTrue(success)
}

DarwinBooleanAPI.test("CustomStringConvertible") {
  let trueValue: DarwinBoolean = true
  expectEqual("true", trueValue.description)
  let falseValue: DarwinBoolean = false
  expectEqual("false", falseValue.description)
}

DarwinBooleanAPI.test("Equatable") {
  let trueValue: DarwinBoolean = true
  let falseValue: DarwinBoolean = false
  checkEquatable(true, trueValue, trueValue)
  checkEquatable(true, falseValue, falseValue)
  checkEquatable(false, trueValue, falseValue)
  checkEquatable(false, falseValue, trueValue)
}

DarwinBooleanAPI.test("Equatable/extra values") {
  let trueValue: DarwinBoolean = true
  let falseValue: DarwinBoolean = false
  let rawValue: UInt8 = 2
  let otherValue = unsafeBitCast(rawValue, to: DarwinBoolean.self)
  checkEquatable(true, trueValue, otherValue)
  checkEquatable(false, falseValue, otherValue)
}

DarwinBooleanAPI.test("&&") {
  let trueValue: DarwinBoolean = true
  let falseValue: DarwinBoolean = false

  expectTrue(trueValue.boolValue && trueValue.boolValue)
  expectFalse(trueValue.boolValue && falseValue.boolValue)
  expectFalse(falseValue.boolValue && trueValue.boolValue)
  expectFalse(falseValue.boolValue && falseValue.boolValue)
}

DarwinBooleanAPI.test("||") {
  let trueValue: DarwinBoolean = true
  let falseValue: DarwinBoolean = false

  expectTrue(trueValue.boolValue || trueValue.boolValue)
  expectTrue(trueValue.boolValue || falseValue.boolValue)
  expectTrue(falseValue.boolValue || trueValue.boolValue)
  expectFalse(falseValue.boolValue || falseValue.boolValue)
}

var DarwinIoctlConstants = TestSuite("DarwinIoctlConstants")

DarwinIoctlConstants.test("tty ioctl constants availability") {
  let aConstant = TIOCGWINSZ
} 

runAllTests()