forked from napi-rs/napi-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
parse-triple.spec.ts
122 lines (119 loc) · 2.61 KB
/
parse-triple.spec.ts
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
114
115
116
117
118
119
120
121
122
import test from 'ava'
import { parseTriple } from '../parse-triple'
const triples = [
{
name: 'x86_64-unknown-linux-musl',
expected: {
abi: 'musl',
arch: 'x64',
platform: 'linux',
platformArchABI: 'linux-x64-musl',
raw: 'x86_64-unknown-linux-musl',
} as const,
},
{
name: 'x86_64-unknown-linux-gnu',
expected: {
abi: 'gnu',
arch: 'x64',
platform: 'linux',
platformArchABI: 'linux-x64-gnu',
raw: 'x86_64-unknown-linux-gnu',
} as const,
},
{
name: 'x86_64-pc-windows-msvc',
expected: {
abi: 'msvc',
arch: 'x64',
platform: 'win32',
platformArchABI: 'win32-x64-msvc',
raw: 'x86_64-pc-windows-msvc',
} as const,
},
{
name: 'x86_64-apple-darwin',
expected: {
abi: null,
arch: 'x64',
platform: 'darwin',
platformArchABI: 'darwin-x64',
raw: 'x86_64-apple-darwin',
} as const,
},
{
name: 'i686-pc-windows-msvc',
expected: {
abi: 'msvc',
arch: 'ia32',
platform: 'win32',
platformArchABI: 'win32-ia32-msvc',
raw: 'i686-pc-windows-msvc',
} as const,
},
{
name: 'x86_64-unknown-freebsd',
expected: {
abi: null,
arch: 'x64',
platform: 'freebsd',
platformArchABI: 'freebsd-x64',
raw: 'x86_64-unknown-freebsd',
} as const,
},
{
name: 'aarch64-unknown-linux-gnu',
expected: {
abi: 'gnu',
arch: 'arm64',
platform: 'linux',
platformArchABI: 'linux-arm64-gnu',
raw: 'aarch64-unknown-linux-gnu',
} as const,
},
{
name: 'aarch64-pc-windows-msvc',
expected: {
abi: 'msvc',
arch: 'arm64',
platform: 'win32',
platformArchABI: 'win32-arm64-msvc',
raw: 'aarch64-pc-windows-msvc',
} as const,
},
{
name: 'armv7-unknown-linux-gnueabihf',
expected: {
abi: 'gnueabihf',
arch: 'arm',
platform: 'linux',
platformArchABI: 'linux-arm-gnueabihf',
raw: 'armv7-unknown-linux-gnueabihf',
} as const,
},
{
name: 'aarch64-linux-android',
expected: {
abi: null,
arch: 'arm64',
platform: 'android',
platformArchABI: 'android-arm64',
raw: 'aarch64-linux-android',
},
} as const,
{
name: 'armv7-linux-androideabi',
expected: {
abi: 'eabi',
arch: 'arm',
platform: 'android',
platformArchABI: 'android-arm-eabi',
raw: 'armv7-linux-androideabi',
},
} as const,
]
for (const triple of triples) {
test(`should parse ${triple.name}`, (t) => {
t.deepEqual(parseTriple(triple.name), triple.expected)
})
}