deno.land / std@0.224.0 / semver / range_min_test.ts

range_min_test.ts
View Documentation
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
// Copyright Isaac Z. Schlueter and Contributors. All rights reserved. ISC license.// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.import { assert } from "../assert/mod.ts";import { equals } from "./equals.ts";import { parse } from "./parse.ts";import { parseRange } from "./parse_range.ts";import { rangeMin } from "./range_min.ts";import { INVALID } from "./constants.ts";import type { SemVer } from "./types.ts";
Deno.test({ name: "rangeMin()", fn: async (t) => { const versions: [string, string | SemVer][] = [ // Stars ["*", "0.0.0"], ["* || >=2", "0.0.0"], [">=2 || *", "0.0.0"], [">2 || *", "0.0.0"],
// equal ["1.0.0", "1.0.0"], ["1.0", "1.0.0"], ["1.0.x", "1.0.0"], ["1.0.*", "1.0.0"], ["1", "1.0.0"], ["1.x.x", "1.0.0"], ["1.x.x", "1.0.0"], ["1.*.x", "1.0.0"], ["1.x.*", "1.0.0"], ["1.x", "1.0.0"], ["1.*", "1.0.0"], ["=1.0.0", "1.0.0"],
// Tilde ["~1.1.1", "1.1.1"], ["~1.1.1-beta", "1.1.1-beta"], ["~1.1.1 || >=2", "1.1.1"],
// Caret ["^1.1.1", "1.1.1"], ["^1.1.1-beta", "1.1.1-beta"], ["^1.1.1 || >=2", "1.1.1"],
// '-' operator ["1.1.1 - 1.8.0", "1.1.1"], ["1.1 - 1.8.0", "1.1.0"],
// Less / less or equal ["<2", "0.0.0"], ["<0.0.0-beta", INVALID], ["<0.0.1-beta", "0.0.0"], ["<2 || >4", "0.0.0"], [">4 || <2", "0.0.0"], ["<=2 || >=4", "0.0.0"], [">=4 || <=2", "0.0.0"], ["<0.0.0-beta >=0.0.0-alpha", "0.0.0-alpha"], [">=0.0.0-alpha <0.0.0-beta", "0.0.0-alpha"],
// Greater than or equal [">=1.1.1 <2 || >=2.2.2 <2", "1.1.1"], [">=2.2.2 <2 || >=1.1.1 <2", "1.1.1"],
// Greater than but not equal [">1.0.0", "1.0.1"], [">1.0.0-0", "1.0.0-1"], [">1.0.0-beta", "1.0.0-beta.0"], [">2 || >1.0.0", "1.0.1"], [">2 || >1.0.0-0", "1.0.0-1"], [">2 || >1.0.0-beta", "1.0.0-beta.0"],
// Impossible range [">4 <3", INVALID], ];
for (const [a, b] of versions) { await t.step(a, () => { const range = parseRange(a); const version = typeof b === "string" ? parse(b) : b; const min = rangeMin(range); assert(equals(min, version)); }); } },});
std

Version Info

Tagged at
6 months ago