@unique-nft/api
Version:
Definitely typed JS API for the Unique Network blockchain
58 lines (49 loc) • 2.14 kB
text/typescript
import {describe, expect, test} from 'vitest'
import {UniqueUtils} from '../../index'
import {getEntries} from "../../tsUtils";
import {Semver} from "../../utils/semver";
describe('semver', () => {
const Semver = UniqueUtils.Semver
const strings = {
v100: '1.0.0',
v123: '1.2.3',
v124: '1.2.4',
v154: '1.5.4',
v200: '2.0.0',
invalid: 'sdd.fs.df',
empty: '',
undef: undefined as any as string,
}
const semvers = {
v100: Semver.fromString(strings.v100),
v123: Semver.fromString(strings.v123),
v124: Semver.fromString(strings.v124),
v154: Semver.fromString(strings.v154),
v200: Semver.fromString(strings.v200),
}
test.concurrent('semver', () => {
expect(semvers.v100.isLessThan(strings.v123)).toBe(true)
expect(semvers.v100.isLessThan(strings.v154)).toBe(true)
expect(semvers.v100.isLessThan(strings.v200)).toBe(true)
expect(semvers.v123.isLessThan(strings.v124)).toBe(true)
expect(semvers.v123.isLessThan(strings.v154)).toBe(true)
expect(semvers.v123.isLessThan(strings.v200)).toBe(true)
expect(semvers.v200.isGteThan(strings.v154)).toBe(true)
expect(semvers.v200.isGteThan(strings.v100)).toBe(true)
expect(semvers.v154.isGteThan(strings.v124)).toBe(true)
expect(semvers.v124.isGteThan(strings.v123)).toBe(true)
expect(semvers.v124.isGteThan('1.2.4')).toBe(true)
expect(semvers.v124.isLessThan('1.2.4')).toBe(false)
expect(semvers.v124.isEqual('1.2.4')).toBe(true)
expect(semvers.v124.isEqual('1.2.5')).toBe(false)
expect(semvers.v124.isEqual('1.3.4')).toBe(false)
expect(semvers.v124.isEqual('2.2.4')).toBe(false)
expect(Semver.isValid(strings.invalid)).toBe(false)
expect(Semver.isValid(strings.empty)).toBe(false)
expect(Semver.isValid(strings.undef)).toBe(false)
expect(Semver.isValid(strings.v200)).toBe(true)
expect(() => {Semver.fromString(strings.invalid)}).toThrowError()
expect(() => {Semver.fromString(strings.empty)}).toThrowError()
expect(() => {Semver.fromString(strings.undef)}).toThrowError()
})
})