setup-zig/test.js

90 lines
4.2 KiB
JavaScript

const assert = require('assert').strict
const {
resolveCommit,
resolveVersion
} = require('./versions')
async function test () {
assert.deepEqual(resolveCommit('x64', 'linux', '0.6.0+4b48fccad'), {
downloadUrl: 'https://ziglang.org/builds/zig-linux-x86_64-0.6.0+4b48fccad.tar.xz',
fileWithoutFileType: 'zig-linux-x86_64-0.6.0+4b48fccad',
variantName: 'zig-linux-x86_64-0.6.0',
version: '0.6.0'
})
assert.deepEqual(resolveCommit('x64', 'win32', '0.6.0+4b48fccad'), {
downloadUrl: 'https://ziglang.org/builds/zig-windows-x86_64-0.6.0+4b48fccad.zip',
fileWithoutFileType: 'zig-windows-x86_64-0.6.0+4b48fccad',
variantName: 'zig-windows-x86_64-0.6.0',
version: '0.6.0'
})
assert.deepEqual(resolveCommit('x64', 'win32', '0.12.0-dev.1092+68ed78775'), {
downloadUrl: 'https://ziglang.org/builds/zig-windows-x86_64-0.12.0-dev.1092+68ed78775.zip',
fileWithoutFileType: 'zig-windows-x86_64-0.12.0-dev.1092+68ed78775',
variantName: 'zig-windows-x86_64-0.12.0-dev.1092',
version: '0.12.0-dev.1092'
})
assert.deepEqual(resolveCommit('x64', 'darwin', '0.12.0-dev.1150+3c22cecee'), {
downloadUrl: 'https://ziglang.org/builds/zig-macos-x86_64-0.12.0-dev.1150+3c22cecee.tar.xz',
fileWithoutFileType: 'zig-macos-x86_64-0.12.0-dev.1150+3c22cecee',
variantName: 'zig-macos-x86_64-0.12.0-dev.1150',
version: '0.12.0-dev.1150'
})
assert.deepEqual(await resolveVersion('x64', 'linux', '0.7.0'), {
downloadUrl: 'https://ziglang.org/download/0.7.0/zig-linux-x86_64-0.7.0.tar.xz',
fileWithoutFileType: 'zig-linux-x86_64-0.7.0',
variantName: 'zig-linux-x86_64-0.7.0',
version: '0.7.0'
})
assert.deepEqual(await resolveVersion('x64', 'win32', '0.4.0'), {
downloadUrl: 'https://ziglang.org/download/0.4.0/zig-windows-x86_64-0.4.0.zip',
fileWithoutFileType: 'zig-windows-x86_64-0.4.0',
variantName: 'zig-windows-x86_64-0.4.0',
version: '0.4.0'
})
assert.deepEqual(await resolveVersion('arm64', 'darwin', '0.11.0'), {
downloadUrl: 'https://ziglang.org/download/0.11.0/zig-macos-aarch64-0.11.0.tar.xz',
fileWithoutFileType: 'zig-macos-aarch64-0.11.0',
variantName: 'zig-macos-aarch64-0.11.0',
version: '0.11.0'
})
assert.deepEqual(await resolveVersion('arm64', 'darwin', '2024.1.0-mach'), {
downloadUrl: 'https://pkg.machengine.org/zig/zig-macos-aarch64-0.12.0-dev.2063+804cee3b9.tar.xz',
fileWithoutFileType: 'zig-macos-aarch64-0.12.0-dev.2063+804cee3b9',
variantName: 'zig-macos-aarch64-0.12.0-dev.2063',
version: '0.12.0-dev.2063'
})
assert.deepEqual(await resolveVersion('x64', 'linux', '2024.3.0-mach'), {
downloadUrl: 'https://pkg.machengine.org/zig/zig-linux-x86_64-0.12.0-dev.3180+83e578a18.tar.xz',
fileWithoutFileType: 'zig-linux-x86_64-0.12.0-dev.3180+83e578a18',
variantName: 'zig-linux-x86_64-0.12.0-dev.3180',
version: '0.12.0-dev.3180'
})
assert.deepEqual(await resolveVersion('x64', 'win32', '2024.1.0-mach'), {
downloadUrl: 'https://pkg.machengine.org/zig/zig-windows-x86_64-0.12.0-dev.2063+804cee3b9.zip',
fileWithoutFileType: 'zig-windows-x86_64-0.12.0-dev.2063+804cee3b9',
variantName: 'zig-windows-x86_64-0.12.0-dev.2063',
version: '0.12.0-dev.2063'
})
assert.deepEqual(await resolveVersion('arm64', 'darwin', '2024.3.0-mach'), {
downloadUrl: 'https://pkg.machengine.org/zig/zig-macos-aarch64-0.12.0-dev.3180+83e578a18.tar.xz',
fileWithoutFileType: 'zig-macos-aarch64-0.12.0-dev.3180+83e578a18',
variantName: 'zig-macos-aarch64-0.12.0-dev.3180',
version: '0.12.0-dev.3180'
})
await assert.doesNotReject(resolveVersion('x64', 'linux', 'mach-latest'))
await assert.doesNotReject(resolveVersion('x64', 'win32', 'mach-latest'))
await assert.doesNotReject(resolveVersion('arm64', 'darwin', 'mach-latest'))
await assert.doesNotReject(resolveVersion('x64', 'linux', 'master'))
await assert.doesNotReject(resolveVersion('x64', 'win32', 'master'))
await assert.doesNotReject(resolveVersion('arm64', 'darwin', 'master'))
assert.notEqual((await resolveVersion('arm64', 'darwin', 'mach-latest')).version, 'mach-latest')
assert.notEqual((await resolveVersion('arm64', 'darwin', 'master')).version, 'master')
}
test().catch((error) => {
console.error(error.stack)
process.exit(1)
})