1
1
import { describe , expect , test } from "vitest" ;
2
- import { range , slice } from "../src/util.js" ;
2
+ import { range , slice , slice_indices } from "../src/util.js" ;
3
3
4
4
describe ( "slice" , ( ) => {
5
5
test ( "slice(null)" , ( ) => {
6
6
expect ( slice ( null ) ) . toMatchInlineSnapshot ( `
7
7
{
8
- "indices": [Function],
9
8
"start": null,
10
9
"step": null,
11
10
"stop": null,
12
11
}
13
12
` ) ;
14
13
} ) ;
15
14
16
- test ( "slice(null).indices( 10)" , ( ) => {
17
- expect ( slice ( null ) . indices ( 10 ) ) . toStrictEqual ( [ 0 , 10 , 1 ] ) ;
15
+ test ( "slice_indices( slice(null), 10)" , ( ) => {
16
+ expect ( slice_indices ( slice ( null ) , 10 ) ) . toStrictEqual ( [ 0 , 10 , 1 ] ) ;
18
17
} ) ;
19
18
20
19
test ( "slice(3, 15, 2)" , ( ) => {
21
20
expect ( slice ( 3 , 15 , 2 ) ) . toMatchInlineSnapshot ( `
22
21
{
23
- "indices": [Function],
24
22
"start": 3,
25
23
"step": 2,
26
24
"stop": 15,
27
25
}
28
26
` ) ;
29
27
} ) ;
30
28
31
- test ( "slice(3, 15, 2).indices( 10)" , ( ) => {
32
- expect ( slice ( 3 , 15 , 2 ) . indices ( 10 ) ) . toStrictEqual ( [ 3 , 10 , 2 ] ) ;
29
+ test ( "slice_indices( slice(3, 15, 2), 10)" , ( ) => {
30
+ expect ( slice_indices ( slice ( 3 , 15 , 2 ) , 10 ) ) . toStrictEqual ( [ 3 , 10 , 2 ] ) ;
33
31
} ) ;
34
32
35
- test ( "slice(3, 15, 2).indices( 30)" , ( ) => {
36
- expect ( slice ( 3 , 15 , 2 ) . indices ( 30 ) ) . toStrictEqual ( [ 3 , 15 , 2 ] ) ;
33
+ test ( "slice_indices( slice(3, 15, 2), 30)" , ( ) => {
34
+ expect ( slice_indices ( slice ( 3 , 15 , 2 ) , 30 ) ) . toStrictEqual ( [ 3 , 15 , 2 ] ) ;
37
35
} ) ;
38
36
39
37
test ( "slice(40)" , ( ) => {
40
38
expect ( slice ( 40 ) ) . toMatchInlineSnapshot ( `
41
39
{
42
- "indices": [Function],
43
40
"start": null,
44
41
"step": null,
45
42
"stop": 40,
46
43
}
47
44
` ) ;
48
45
} ) ;
49
46
50
- test ( "slice(40).indices(10 )" , ( ) => {
51
- expect ( slice ( 40 ) . indices ( 4 ) ) . toStrictEqual ( [ 0 , 4 , 1 ] ) ;
47
+ test ( "slice_indices( slice(40), 4 )" , ( ) => {
48
+ expect ( slice_indices ( slice ( 40 ) , 4 ) ) . toStrictEqual ( [ 0 , 4 , 1 ] ) ;
52
49
} ) ;
53
50
54
- test ( "slice(40).indices( 41)" , ( ) => {
55
- expect ( slice ( 40 ) . indices ( 41 ) ) . toStrictEqual ( [ 0 , 40 , 1 ] ) ;
51
+ test ( "slice_indices( slice(40), 41)" , ( ) => {
52
+ expect ( slice_indices ( slice ( 40 ) , 41 ) ) . toStrictEqual ( [ 0 , 40 , 1 ] ) ;
56
53
} ) ;
57
54
} ) ;
58
55
@@ -61,8 +58,8 @@ describe("slice indices", () => {
61
58
[ null , 10 , [ 0 , 10 , 1 ] ] ,
62
59
[ 40 , 4 , [ 0 , 4 , 1 ] ] ,
63
60
[ 40 , 41 , [ 0 , 40 , 1 ] ] ,
64
- ] ) ( "slice(%o).indices( %i) -> %o" , ( arg , indices , expected ) => {
65
- expect ( slice ( arg ) . indices ( indices ) ) . toStrictEqual ( expected ) ;
61
+ ] ) ( "slice_indices( slice(%o), %i) -> %o" , ( arg , indices , expected ) => {
62
+ expect ( slice_indices ( slice ( arg ) , indices ) ) . toStrictEqual ( expected ) ;
66
63
} ) ;
67
64
68
65
test . each ( [
@@ -73,18 +70,21 @@ describe("slice indices", () => {
73
70
[ null , null , - 3 , 14 , [ 13 , - 1 , - 3 ] ] ,
74
71
[ null , null , - 3 , 2 , [ 1 , - 1 , - 3 ] ] ,
75
72
] ) (
76
- "slice(%o, %o, %o).indices( %i) -> %o" ,
73
+ "slice_indices( slice(%o, %o, %o), %i) -> %o" ,
77
74
( start , stop , step , indices , expected ) => {
78
- expect ( slice ( start , stop , step ) . indices ( indices ) ) . toStrictEqual ( expected ) ;
75
+ expect ( slice_indices ( slice ( start , stop , step ) , indices ) ) . toStrictEqual (
76
+ expected ,
77
+ ) ;
79
78
} ,
80
79
) ;
81
80
82
81
test . each ( [
83
82
[ null , null , 0 , 1 ] ,
84
83
] ) (
85
- `slice(%o, %o, %o).indices( %i) -> throws` ,
84
+ `slice_indices( slice(%o, %o, %o), %i) -> throws` ,
86
85
( start , stop , step , indices ) => {
87
- expect ( ( ) => slice ( start , stop , step ) . indices ( indices ) ) . toThrowError ( ) ;
86
+ expect ( ( ) => slice_indices ( slice ( start , stop , step ) , indices ) )
87
+ . toThrowError ( ) ;
88
88
} ,
89
89
) ;
90
90
} ) ;
0 commit comments