File: DarwinAPI.swift

package info (click to toggle)
swiftlang 6.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,791,532 kB
  • sloc: cpp: 9,901,743; ansic: 2,201,431; asm: 1,091,827; python: 308,252; objc: 82,166; f90: 80,126; lisp: 38,358; pascal: 25,559; sh: 20,429; ml: 5,058; perl: 4,745; makefile: 4,484; awk: 3,535; javascript: 3,018; xml: 918; fortran: 664; cs: 573; ruby: 396
file content (113 lines) | stat: -rw-r--r-- 3,085 bytes parent folder | download | duplicates (2)
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()