Skip to content

Commit fbb8a4e

Browse files
authored
Fix docstring tests (#7923)
1 parent fa073e8 commit fbb8a4e

File tree

3 files changed

+74
-56
lines changed

3 files changed

+74
-56
lines changed

packages/@rescript/runtime/Stdlib_DataView.resi

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ See [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Referen
4242
## Examples
4343
4444
```rescript
45-
DataView.fromBuffer(ArrayBuffer.make(16))
46-
DataView.fromBuffer(ArrayBuffer.make(16), ~byteOffset=4)
47-
DataView.fromBuffer(ArrayBuffer.make(16), ~byteOffset=4, ~length=8)
45+
DataView.fromBuffer(ArrayBuffer.make(16))
46+
DataView.fromBuffer(ArrayBuffer.make(16), ~byteOffset=4)
47+
DataView.fromBuffer(ArrayBuffer.make(16), ~byteOffset=4, ~length=8)
4848
```
4949
*/
5050
@new external fromBuffer: (Stdlib_ArrayBuffer.t, ~byteOffset: int=?, ~length: int=?) => t =
@@ -65,7 +65,7 @@ DataView.fromBufferToEnd(buffer, ~byteOffset=4)
6565
external fromBufferToEnd: (Stdlib_ArrayBuffer.t, ~byteOffset: int) => t = "DataView"
6666

6767
/**
68-
`fromBufferWithRange(buffer, ~byteOffset, ~length)` creates a DataView for a specific byte range.
68+
`fromBufferWithRange(buffer, ~byteOffset, ~length)` creates a DataView for a specific byte range.
6969
7070
See [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) on MDN.
7171
@@ -74,7 +74,7 @@ See [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Referen
7474
## Examples
7575
7676
```rescript
77-
DataView.fromBufferWithRange(ArrayBuffer.make(16), ~byteOffset=2, ~length=8)
77+
DataView.fromBufferWithRange(ArrayBuffer.make(16), ~byteOffset=2, ~length=8)
7878
```
7979
*/
8080
@deprecated("Use `fromBuffer` instead") @new
@@ -135,7 +135,7 @@ See [`DataView.getInt8`](https://developer.mozilla.org/en-US/docs/Web/JavaScript
135135
136136
```rescript
137137
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
138-
dv->DateView.setInt8(0, -12)
138+
dv->DataView.setInt8(0, -12)
139139
DataView.getInt8(dv, 0) == -12
140140
```
141141
*/
@@ -150,7 +150,7 @@ See [`DataView.getUint8`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
150150
151151
```rescript
152152
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
153-
dv->DateView.setUint8(1, 255)
153+
dv->DataView.setUint8(1, 255)
154154
DataView.getUint8(dv, 1) == 255
155155
```
156156
*/
@@ -165,8 +165,8 @@ See [`DataView.getInt16`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
165165
166166
```rescript
167167
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
168-
dv->DateView.setInt16(0, -1234)
169-
dv->DateView.setInt16(2, -1234, ~littleEndian=true)
168+
dv->DataView.setInt16(0, -1234)
169+
dv->DataView.setInt16(2, -1234, ~littleEndian=true)
170170
DataView.getInt16(dv, 0) == -1234
171171
DataView.getInt16(dv, 2, ~littleEndian=true) == -1234
172172
```
@@ -182,8 +182,8 @@ See [`DataView.getUint16`](https://developer.mozilla.org/en-US/docs/Web/JavaScri
182182
183183
```rescript
184184
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
185-
dv->DateView.setUint16(0, 1234)
186-
dv->DateView.setUint16(2, 1234, ~littleEndian=true)
185+
dv->DataView.setUint16(0, 1234)
186+
dv->DataView.setUint16(2, 1234, ~littleEndian=true)
187187
DataView.getUint16(dv, 0) == 1234
188188
DataView.getUint16(dv, 2, ~littleEndian=true) == 1234
189189
```
@@ -199,8 +199,8 @@ See [`DataView.getInt32`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
199199
200200
```rescript
201201
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
202-
dv->DateView.setInt32(0, -123456)
203-
dv->DateView.setInt32(4, -123456, ~littleEndian=true)
202+
dv->DataView.setInt32(0, -123456)
203+
dv->DataView.setInt32(4, -123456, ~littleEndian=true)
204204
DataView.getInt32(dv, 0) == -123456
205205
DataView.getInt32(dv, 4, ~littleEndian=true) == -123456
206206
```
@@ -216,8 +216,8 @@ See [`DataView.getUint32`](https://developer.mozilla.org/en-US/docs/Web/JavaScri
216216
217217
```rescript
218218
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
219-
dv->DateView.setUint32(0, 123456)
220-
dv->DateView.setUint32(4, 123456, ~littleEndian=true)
219+
dv->DataView.setUint32(0, 123456)
220+
dv->DataView.setUint32(4, 123456, ~littleEndian=true)
221221
DataView.getUint32(dv, 0) == 123456
222222
DataView.getUint32(dv, 4, ~littleEndian=true) == 123456
223223
```
@@ -232,8 +232,8 @@ See [`DataView.getFloat16`](https://developer.mozilla.org/en-US/docs/Web/JavaScr
232232
## Examples
233233
```rescript
234234
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
235-
dv->DateView.setFloat16(0, 1.5)
236-
dv->DateView.setFloat16(2, 1.5, ~littleEndian=true)
235+
dv->DataView.setFloat16(0, 1.5)
236+
dv->DataView.setFloat16(2, 1.5, ~littleEndian=true)
237237
DataView.getFloat16(dv, 0) == 1.5
238238
DataView.getFloat16(dv, 2, ~littleEndian=true) == 1.5
239239
```
@@ -249,10 +249,10 @@ See [`DataView.getFloat32`](https://developer.mozilla.org/en-US/docs/Web/JavaScr
249249
250250
```rescript
251251
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
252-
dv->DateView.setFloat32(0, 3.14)
253-
dv->DateView.setFloat32(4, 3.14, ~littleEndian=true
254-
DataView.getFloat32(dv, 0) == 3.14
255-
DataView.getFloat32(dv, 4, ~littleEndian=true) == 3.14
252+
dv->DataView.setFloat32(0, 3.14)
253+
dv->DataView.setFloat32(4, 3.14, ~littleEndian=true)
254+
// DataView.getFloat32(dv, 0) == 3.14
255+
// DataView.getFloat32(dv, 4, ~littleEndian=true) == 3.14
256256
```
257257
*/
258258
@send external getFloat32: (t, int, ~littleEndian: bool=?) => float = "getFloat32"
@@ -266,8 +266,8 @@ See [`DataView.getFloat64`](https://developer.mozilla.org/en-US/docs/Web/JavaScr
266266
267267
```rescript
268268
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
269-
dv->DateView.setFloat64(0, 6.28)
270-
dv->DateView.setFloat64(8, 6.28, ~littleEndian=true)
269+
dv->DataView.setFloat64(0, 6.28)
270+
dv->DataView.setFloat64(8, 6.28, ~littleEndian=true)
271271
DataView.getFloat64(dv, 0) == 6.28
272272
DataView.getFloat64(dv, 8, ~littleEndian=true) == 6.28
273273
```
@@ -282,8 +282,8 @@ See [`DataView.getBigInt64`](https://developer.mozilla.org/en-US/docs/Web/JavaSc
282282
## Examples
283283
```rescript
284284
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
285-
dv->DateView.setBigInt64(0, -123456789n)
286-
dv->DateView.setBigInt64(8, -123456789n, ~littleEndian=true)
285+
dv->DataView.setBigInt64(0, -123456789n)
286+
dv->DataView.setBigInt64(8, -123456789n, ~littleEndian=true)
287287
DataView.getBigInt64(dv, 0) == -123456789n
288288
DataView.getBigInt64(dv, 8, ~littleEndian=true) == -123456789n
289289
```
@@ -299,8 +299,8 @@ See [`DataView.getBigUint64`](https://developer.mozilla.org/en-US/docs/Web/JavaS
299299
300300
```rescript
301301
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
302-
dv->DateView.setBigUint64(0, 123456789n)
303-
dv->DateView.setBigUint64(8, 123456789n, ~littleEndian=true)
302+
dv->DataView.setBigUint64(0, 123456789n)
303+
dv->DataView.setBigUint64(8, 123456789n, ~littleEndian=true)
304304
DataView.getBigUint64(dv, 0) == 123456789n
305305
DataView.getBigUint64(dv, 8, ~littleEndian=true) == 123456789n
306306
```
@@ -317,7 +317,7 @@ See [`DataView.setInt8`](https://developer.mozilla.org/en-US/docs/Web/JavaScript
317317
```rescript
318318
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
319319
DataView.setInt8(dv, 0, -12)
320-
dv->DateView.getInt8(0) == -12
320+
dv->DataView.getInt8(0) == -12
321321
```
322322
*/
323323
@send external setInt8: (t, int, int) => unit = "setInt8"
@@ -332,7 +332,7 @@ See [`DataView.setUint8`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
332332
```rescript
333333
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
334334
DataView.setUint8(dv, 0, 255)
335-
dv->DateView.getUint8(0) == 255
335+
dv->DataView.getUint8(0) == 255
336336
```
337337
*/
338338
@send external setUint8: (t, int, int) => unit = "setUint8"
@@ -346,10 +346,10 @@ See [`DataView.setInt16`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
346346
347347
```rescript
348348
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
349-
DataView.setInt16(dv, 0 -1234)
349+
DataView.setInt16(dv, 0, -1234)
350350
DataView.setInt16(dv, 2, -1234, ~littleEndian=true)
351-
dv->DateView.getInt16(0) == -1234
352-
dv->DateView.getInt16(2, ~littleEndian=true) == -1234
351+
dv->DataView.getInt16(0) == -1234
352+
dv->DataView.getInt16(2, ~littleEndian=true) == -1234
353353
```
354354
*/
355355
@send external setInt16: (t, int, int, ~littleEndian: bool=?) => unit = "setInt16"
@@ -365,8 +365,8 @@ See [`DataView.setUint16`](https://developer.mozilla.org/en-US/docs/Web/JavaScri
365365
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
366366
DataView.setUint16(dv, 0, 1234)
367367
DataView.setUint16(dv, 2, 1234, ~littleEndian=true)
368-
dv->DateView.getUint16(0) == 1234
369-
dv->DateView.getUint16(2, ~littleEndian=true) == 1234
368+
dv->DataView.getUint16(0) == 1234
369+
dv->DataView.getUint16(2, ~littleEndian=true) == 1234
370370
```
371371
*/
372372
@send external setUint16: (t, int, int, ~littleEndian: bool=?) => unit = "setUint16"
@@ -382,8 +382,8 @@ See [`DataView.setInt32`](https://developer.mozilla.org/en-US/docs/Web/JavaScrip
382382
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
383383
DataView.setInt32(dv, 0, -123456)
384384
DataView.setInt32(dv, 4, -123456, ~littleEndian=true)
385-
dv->DateView.getInt32(0) == -123456
386-
dv->DateView.getInt32(4, ~littleEndian=true) == -123456
385+
dv->DataView.getInt32(0) == -123456
386+
dv->DataView.getInt32(4, ~littleEndian=true) == -123456
387387
```
388388
*/
389389
@send external setInt32: (t, int, int, ~littleEndian: bool=?) => unit = "setInt32"
@@ -397,10 +397,10 @@ See [`DataView.setUint32`](https://developer.mozilla.org/en-US/docs/Web/JavaScri
397397
398398
```rescript
399399
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
400-
DataView.setUint32(dv, 0 123456)
400+
DataView.setUint32(dv, 0, 123456)
401401
DataView.setUint32(dv, 4, 123456, ~littleEndian=true)
402-
dv->DateView.getUint32(0) == 123456
403-
dv->DateView.getUint32(4, ~littleEndian=true) == 123456
402+
dv->DataView.getUint32(0) == 123456
403+
dv->DataView.getUint32(4, ~littleEndian=true) == 123456
404404
```
405405
*/
406406
@send external setUint32: (t, int, int, ~littleEndian: bool=?) => unit = "setUint32"
@@ -416,8 +416,8 @@ See [`DataView.setFloat16`](https://developer.mozilla.org/en-US/docs/Web/JavaScr
416416
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
417417
DataView.setFloat16(dv, 0, 1.5)
418418
DataView.setFloat16(dv, 2, 1.5, ~littleEndian=true)
419-
dv->DateView.getFloat16(0) == 1.5
420-
dv->DateView.getFloat16(2, ~littleEndian=true) == 1.5
419+
dv->DataView.getFloat16(0) == 1.5
420+
dv->DataView.getFloat16(2, ~littleEndian=true) == 1.5
421421
```
422422
*/
423423
@send external setFloat16: (t, int, float, ~littleEndian: bool=?) => unit = "setFloat16"
@@ -433,8 +433,8 @@ See [`DataView.setFloat32`](https://developer.mozilla.org/en-US/docs/Web/JavaScr
433433
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
434434
DataView.setFloat32(dv, 0, 3.14)
435435
DataView.setFloat32(dv, 4, 3.14, ~littleEndian=true)
436-
dv->DateView.getFloat32(0) == 3.14
437-
dv->DateView.getFloat32(4, ~littleEndian=true) == 3.14
436+
// dv->DataView.getFloat32(0) == 3.14
437+
// dv->DataView.getFloat32(4, ~littleEndian=true) == 3.14
438438
```
439439
*/
440440
@send external setFloat32: (t, int, float, ~littleEndian: bool=?) => unit = "setFloat32"
@@ -450,8 +450,8 @@ See [`DataView.setFloat64`](https://developer.mozilla.org/en-US/docs/Web/JavaScr
450450
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
451451
DataView.setFloat64(dv, 0, 6.28)
452452
DataView.setFloat64(dv, 8, 6.28, ~littleEndian=true)
453-
dv->DateView.getFloat64(0) == 6.28
454-
dv->DateView.getFloat64(8, ~littleEndian=true) == 6.28
453+
dv->DataView.getFloat64(0) == 6.28
454+
dv->DataView.getFloat64(8, ~littleEndian=true) == 6.28
455455
```
456456
*/
457457
@send external setFloat64: (t, int, float, ~littleEndian: bool=?) => unit = "setFloat64"
@@ -467,8 +467,8 @@ See [`DataView.setBigInt64`](https://developer.mozilla.org/en-US/docs/Web/JavaSc
467467
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
468468
DataView.setBigInt64(dv, 0, -123456789n)
469469
DataView.setBigInt64(dv, 8, -123456789n, ~littleEndian=true)
470-
dv->DateView.getBigInt64(0) == -123456789n
471-
dv->DateView.getBigInt64(8, ~littleEndian=true) == -123456789n
470+
dv->DataView.getBigInt64(0) == -123456789n
471+
dv->DataView.getBigInt64(8, ~littleEndian=true) == -123456789n
472472
```
473473
*/
474474
@send external setBigInt64: (t, int, bigint, ~littleEndian: bool=?) => unit = "setBigInt64"
@@ -484,8 +484,8 @@ See [`DataView.setBigUint64`](https://developer.mozilla.org/en-US/docs/Web/JavaS
484484
let dv = DataView.fromBuffer(ArrayBuffer.make(16))
485485
DataView.setBigUint64(dv, 0, 123456789n)
486486
DataView.setBigUint64(dv, 8, 123456789n, ~littleEndian=true)
487-
dv->DateView.getBigUint64(0) == 123456789n
488-
dv->DateView.getBigUint64(8, ~littleEndian=true) == 123456789n
487+
dv->DataView.getBigUint64(0) == 123456789n
488+
dv->DataView.getBigUint64(8, ~littleEndian=true) == 123456789n
489489
```
490490
*/
491491
@send external setBigUint64: (t, int, bigint, ~littleEndian: bool=?) => unit = "setBigUint64"

tests/docstring_tests/DocTest.res

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
open Node
22

3+
@module("../../cli/common/bins.js")
4+
external rescript_tools_exe: string = "rescript_tools_exe"
5+
36
// Only major version
47
let nodeVersion =
58
Process.version
@@ -35,6 +38,11 @@ let ignoreRuntimeTests = [
3538
24,
3639
["Stdlib_RegExp.escape"],
3740
),
41+
(
42+
// Not available in Node.js yet
43+
1000,
44+
["Stdlib_DataView.getFloat16", "Stdlib_DataView.setFloat16"],
45+
),
3846
]
3947

4048
let getOutput = buffer =>
@@ -43,10 +51,8 @@ let getOutput = buffer =>
4351
->Array.join("")
4452

4553
let extractDocFromFile = async file => {
46-
let toolsBin = Path.join([Process.cwd(), "cli", "rescript-tools.js"])
47-
4854
let {stdout} = await SpawnAsync.run(
49-
~command=toolsBin,
55+
~command=rescript_tools_exe,
5056
~args=["extract-codeblocks", file, "--transform-assert-equal"],
5157
)
5258

@@ -88,7 +94,9 @@ let extractExamples = async () => {
8894
| Ok(doc) =>
8995
// TODO: Should this be a flag in the actual command instead, to only include code blocks with tests?
9096
examples->Array.pushMany(doc->Array.filter(d => d.code->String.includes("assertEqual(")))
91-
| Error(e) => Console.error(e)
97+
| Error(e) =>
98+
Console.error(e)
99+
JsError.panic(`Error extracting code blocks for ${f}`)
92100
}
93101
})
94102

tests/docstring_tests/DocTest.res.js

Lines changed: 13 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)