mirror of
https://github.com/julia-actions/setup-julia.git
synced 2026-02-12 19:16:54 +08:00
44 lines
2.7 KiB
TypeScript
44 lines
2.7 KiB
TypeScript
import * as installer from '../src/installer'
|
|
|
|
import * as semver from 'semver'
|
|
|
|
const testVersions = ['v1.3.0-rc4', 'v1.3.0-rc3', 'v1.3.0-rc2', 'v1.0.5', 'v1.2.0', 'v1.3.0-rc1', 'v1.2.0-rc3', 'v1.3.0-alpha', 'v1.2.0-rc2', 'v1.2.0-rc1', 'v1.1.1', 'v1.0.4', 'v1.1.0', 'v1.1.0-rc2', 'v1.1.0-rc1', 'v1.0.3', 'v1.0.2', 'v1.0.1', 'v1.0.0']
|
|
|
|
describe('installer tests', () => {
|
|
describe('version matching', () => {
|
|
describe('specific versions', () => {
|
|
it('Doesn\'t change the version when given a valid semver version', async () => {
|
|
expect(await installer.getJuliaVersion([], '1.0.5')).toEqual('1.0.5')
|
|
expect(await installer.getJuliaVersion(['v1.0.5', 'v1.0.6'], '1.0.5')).toEqual('1.0.5')
|
|
expect(await installer.getJuliaVersion(['v1.0.4', 'v1.0.5'], '1.0.5')).toEqual('1.0.5')
|
|
expect(await installer.getJuliaVersion(['v1.0.4'], '1.0.5')).toEqual('1.0.5')
|
|
expect(await installer.getJuliaVersion([], '1.3.0-alpha')).toEqual('1.3.0-alpha')
|
|
expect(await installer.getJuliaVersion(['v1.2.0', 'v1.3.0-alpha', 'v1.3.0-rc1', 'v1.3.0'], '1.3.0-alpha')).toEqual('1.3.0-alpha')
|
|
expect(await installer.getJuliaVersion([], '1.3.0-rc2')).toEqual('1.3.0-rc2')
|
|
})
|
|
it('Doesn\'t change the version when given `nightly`', async () => {
|
|
expect(await installer.getJuliaVersion([], 'nightly')).toEqual('nightly')
|
|
expect(await installer.getJuliaVersion(testVersions, 'nightly')).toEqual('nightly')
|
|
})
|
|
})
|
|
describe('version ranges', () => {
|
|
it('Chooses the highest available version that matches the input', async () => {
|
|
expect(await installer.getJuliaVersion(testVersions, '1')).toEqual('1.2.0')
|
|
expect(await installer.getJuliaVersion(testVersions, '1.0')).toEqual('1.0.5')
|
|
expect(await installer.getJuliaVersion(testVersions, '^1.3.0-rc1')).toEqual('1.3.0-rc4')
|
|
expect(await installer.getJuliaVersion(testVersions, '^1.2.0-rc1')).toEqual('1.2.0')
|
|
})
|
|
})
|
|
})
|
|
describe('node-semver behaviour', () => {
|
|
describe('Windows installer change', () => {
|
|
it('Correctly understands >1.4.0', () => {
|
|
expect(semver.gtr('1.4.0-rc1', '1.3', {includePrerelease: true})).toBeTruthy()
|
|
expect(semver.gtr('1.4.0-DEV', '1.3', {includePrerelease: true})).toBeTruthy()
|
|
expect(semver.gtr('1.3.1', '1.3', {includePrerelease: true})).toBeFalsy()
|
|
expect(semver.gtr('1.3.2-rc1', '1.3', {includePrerelease: true})).toBeFalsy()
|
|
})
|
|
})
|
|
})
|
|
})
|