mirror of
https://github.com/gradle/actions
synced 2024-11-30 13:22:15 +00:00
105 lines
4.6 KiB
TypeScript
105 lines
4.6 KiB
TypeScript
|
import { describe } from 'node:test'
|
||
|
import { versionIsAtLeast, parseGradleVersionFromOutput } from '../../src/execution/gradle'
|
||
|
|
||
|
describe('gradle', () => {
|
||
|
describe('can compare version with', () => {
|
||
|
it('same version', async () => {
|
||
|
expect(versionIsAtLeast('6.7.1', '6.7.1')).toBe(true)
|
||
|
expect(versionIsAtLeast('7.0', '7.0')).toBe(true)
|
||
|
expect(versionIsAtLeast('7.0', '7.0.0')).toBe(true)
|
||
|
})
|
||
|
it('newer version', async () => {
|
||
|
expect(versionIsAtLeast('6.7.1', '6.7.2')).toBe(false)
|
||
|
expect(versionIsAtLeast('7.0', '8.0')).toBe(false)
|
||
|
expect(versionIsAtLeast('7.0', '7.0.1')).toBe(false)
|
||
|
})
|
||
|
it('older version', async () => {
|
||
|
expect(versionIsAtLeast('6.7.2', '6.7.1')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.0', '7.0')).toBe(true)
|
||
|
expect(versionIsAtLeast('7.0.1', '7.0')).toBe(true)
|
||
|
})
|
||
|
it('rc version', async () => {
|
||
|
expect(versionIsAtLeast('8.0.2-rc-1', '8.0.1')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.0.2-rc-1', '8.0.2')).toBe(false)
|
||
|
expect(versionIsAtLeast('8.1-rc-1', '8.0')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.0-rc-1', '8.0')).toBe(false)
|
||
|
})
|
||
|
it('snapshot version', async () => {
|
||
|
expect(versionIsAtLeast('8.11-20240829002031+0000', '8.10')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.11-20240829002031+0000', '8.10.1')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.11-20240829002031+0000', '8.11')).toBe(false)
|
||
|
|
||
|
expect(versionIsAtLeast('8.10.2-20240828012138+0000', '8.10')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.10.2-20240828012138+0000', '8.10.1')).toBe(true)
|
||
|
expect(versionIsAtLeast('8.10.2-20240828012138+0000', '8.10.2')).toBe(false)
|
||
|
expect(versionIsAtLeast('8.10.2-20240828012138+0000', '8.11')).toBe(false)
|
||
|
|
||
|
expect(versionIsAtLeast('9.1-branch-provider_api_migration_public_api_changes-20240826121451+0000', '9.0')).toBe(true)
|
||
|
expect(versionIsAtLeast('9.1-branch-provider_api_migration_public_api_changes-20240826121451+0000', '9.0.1')).toBe(true)
|
||
|
expect(versionIsAtLeast('9.1-branch-provider_api_migration_public_api_changes-20240826121451+0000', '9.1')).toBe(false)
|
||
|
})
|
||
|
})
|
||
|
describe('can parse version from output', () => {
|
||
|
it('major version', async () => {
|
||
|
const output = `
|
||
|
------------------------------------------------------------
|
||
|
Gradle 8.9
|
||
|
------------------------------------------------------------
|
||
|
`
|
||
|
const version = await parseGradleVersionFromOutput(output)!
|
||
|
expect(version).toBe('8.9')
|
||
|
})
|
||
|
|
||
|
it('patch version', async () => {
|
||
|
const output = `
|
||
|
------------------------------------------------------------
|
||
|
Gradle 8.9.1
|
||
|
------------------------------------------------------------
|
||
|
`
|
||
|
const version = await parseGradleVersionFromOutput(output)!
|
||
|
expect(version).toBe('8.9.1')
|
||
|
})
|
||
|
|
||
|
it('rc version', async () => {
|
||
|
const output = `
|
||
|
------------------------------------------------------------
|
||
|
Gradle 8.9-rc-1
|
||
|
------------------------------------------------------------
|
||
|
`
|
||
|
const version = await parseGradleVersionFromOutput(output)!
|
||
|
expect(version).toBe('8.9-rc-1')
|
||
|
})
|
||
|
|
||
|
it('milestone version', async () => {
|
||
|
const output = `
|
||
|
------------------------------------------------------------
|
||
|
Gradle 8.0-milestone-6
|
||
|
------------------------------------------------------------
|
||
|
`
|
||
|
const version = await parseGradleVersionFromOutput(output)!
|
||
|
expect(version).toBe('8.0-milestone-6')
|
||
|
})
|
||
|
|
||
|
it('snapshot version', async () => {
|
||
|
const output = `
|
||
|
------------------------------------------------------------
|
||
|
Gradle 8.10.2-20240828012138+0000
|
||
|
------------------------------------------------------------
|
||
|
`
|
||
|
const version = await parseGradleVersionFromOutput(output)!
|
||
|
expect(version).toBe('8.10.2-20240828012138+0000')
|
||
|
})
|
||
|
|
||
|
it('branch version', async () => {
|
||
|
const output = `
|
||
|
------------------------------------------------------------
|
||
|
Gradle 9.0-branch-provider_api_migration_public_api_changes-20240830060514+0000
|
||
|
------------------------------------------------------------
|
||
|
`
|
||
|
const version = await parseGradleVersionFromOutput(output)!
|
||
|
expect(version).toBe('9.0-branch-provider_api_migration_public_api_changes-20240830060514+0000')
|
||
|
})
|
||
|
})
|
||
|
})
|
||
|
|