File tree Expand file tree Collapse file tree 3 files changed +46
-13
lines changed Expand file tree Collapse file tree 3 files changed +46
-13
lines changed Original file line number Diff line number Diff line change 131
131
*)
132
132
external lastIndex : t -> int = " " [@@ bs.get]
133
133
134
+ (* * sets the index at which the next match will start its search from *)
135
+ external setLastIndex : t -> int -> unit = " lastIndex" [@@ bs.set]
136
+
134
137
(* * returns a bool indicating whether the [multiline] flag is set *)
135
138
external multiline : t -> bool = " " [@@ bs.get]
136
139
Original file line number Diff line number Diff line change @@ -128,45 +128,66 @@ var suites_001 = /* :: */[
128
128
] ,
129
129
/* :: */ [
130
130
/* tuple */ [
131
- "t_multiline " ,
131
+ "t_setLastIndex " ,
132
132
( function ( ) {
133
+ var re = ( / n a / g) ;
134
+ var before = re . lastIndex ;
135
+ re . lastIndex = 42 ;
136
+ var after = re . lastIndex ;
133
137
return /* Eq */ Block . __ ( 0 , [
134
- /* false */ 0 ,
135
- + ( / ./ ig) . multiline
138
+ /* tuple */ [
139
+ 0 ,
140
+ 42
141
+ ] ,
142
+ /* tuple */ [
143
+ before ,
144
+ after
145
+ ]
136
146
] ) ;
137
147
} )
138
148
] ,
139
149
/* :: */ [
140
150
/* tuple */ [
141
- "t_source " ,
151
+ "t_multiline " ,
142
152
( function ( ) {
143
153
return /* Eq */ Block . __ ( 0 , [
144
- "f.+o" ,
145
- ( / f . + o / ig) . source
154
+ /* false */ 0 ,
155
+ + ( / . / ig) . multiline
146
156
] ) ;
147
157
} )
148
158
] ,
149
159
/* :: */ [
150
160
/* tuple */ [
151
- "t_sticky " ,
161
+ "t_source " ,
152
162
( function ( ) {
153
163
return /* Eq */ Block . __ ( 0 , [
154
- /* true */ 1 ,
155
- + ( / . / yg ) . sticky
164
+ "f.+o" ,
165
+ ( / f . + o / ig ) . source
156
166
] ) ;
157
167
} )
158
168
] ,
159
169
/* :: */ [
160
170
/* tuple */ [
161
- "t_unicode " ,
171
+ "t_sticky " ,
162
172
( function ( ) {
163
173
return /* Eq */ Block . __ ( 0 , [
164
- /* false */ 0 ,
165
- + ( / ./ yg) . unicode
174
+ /* true */ 1 ,
175
+ + ( / ./ yg) . sticky
166
176
] ) ;
167
177
} )
168
178
] ,
169
- /* [] */ 0
179
+ /* :: */ [
180
+ /* tuple */ [
181
+ "t_unicode" ,
182
+ ( function ( ) {
183
+ return /* Eq */ Block . __ ( 0 , [
184
+ /* false */ 0 ,
185
+ + ( / ./ yg) . unicode
186
+ ] ) ;
187
+ } )
188
+ ] ,
189
+ /* [] */ 0
190
+ ]
170
191
]
171
192
]
172
193
]
Original file line number Diff line number Diff line change @@ -60,6 +60,15 @@ let suites = Mt.[
60
60
61
61
Eq (4 , re |> Js.Re. lastIndex)
62
62
);
63
+ " t_setLastIndex" , (fun _ ->
64
+ let re = [% re " /na/g" ] in
65
+
66
+ let before = Js.Re. lastIndex re in
67
+ let () = Js.Re. setLastIndex re 42 in
68
+ let after = Js.Re. lastIndex re in
69
+
70
+ Eq ((0 , 42 ), (before, after))
71
+ );
63
72
" t_multiline" , (fun _ ->
64
73
Eq (false , [% re " /./ig" ] |> Js.Re. multiline)
65
74
);
You can’t perform that action at this time.
0 commit comments