@@ -9,41 +9,43 @@ const { Buffer } = require('buffer');
9
9
const assert = require ( 'assert' ) ;
10
10
const { getRandomValues } = require ( 'crypto' ) . webcrypto ;
11
11
12
- [ undefined , null , '' , 1 , { } , [ ] ] . forEach ( ( i ) => {
13
- assert . throws ( ( ) => getRandomValues ( i ) , { code : 17 } ) ;
12
+ [
13
+ undefined , null , '' , 1 , { } , [ ] ,
14
+ new Float32Array ( 1 ) ,
15
+ new Float64Array ( 1 ) ,
16
+ ] . forEach ( ( i ) => {
17
+ assert . throws (
18
+ ( ) => getRandomValues ( i ) ,
19
+ { name : 'TypeMismatchError' , code : 17 } ,
20
+ ) ;
14
21
} ) ;
15
22
16
23
{
17
24
const buf = new Uint8Array ( 0 ) ;
18
25
getRandomValues ( buf ) ;
19
26
}
20
27
21
- {
22
- const buf = new Uint8Array ( new Array ( 10 ) . fill ( 0 ) ) ;
23
- const before = Buffer . from ( buf ) . toString ( 'hex' ) ;
24
- getRandomValues ( buf ) ;
25
- const after = Buffer . from ( buf ) . toString ( 'hex' ) ;
26
- assert . notStrictEqual ( before , after ) ;
27
- }
28
-
29
- {
30
- const buf = new Uint16Array ( new Array ( 10 ) . fill ( 0 ) ) ;
31
- const before = Buffer . from ( buf ) . toString ( 'hex' ) ;
32
- getRandomValues ( buf ) ;
33
- const after = Buffer . from ( buf ) . toString ( 'hex' ) ;
34
- assert . notStrictEqual ( before , after ) ;
35
- }
28
+ const intTypedConstructors = [
29
+ Int8Array ,
30
+ Int16Array ,
31
+ Int32Array ,
32
+ Uint8Array ,
33
+ Uint16Array ,
34
+ Uint32Array ,
35
+ BigInt64Array ,
36
+ BigUint64Array ,
37
+ ] ;
36
38
37
- {
38
- const buf = new Uint32Array ( new Array ( 10 ) . fill ( 0 ) ) ;
39
- const before = Buffer . from ( buf ) . toString ( 'hex' ) ;
39
+ for ( const ctor of intTypedConstructors ) {
40
+ const buf = new ctor ( 10 ) ;
41
+ const before = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
40
42
getRandomValues ( buf ) ;
41
- const after = Buffer . from ( buf ) . toString ( 'hex' ) ;
43
+ const after = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
42
44
assert . notStrictEqual ( before , after ) ;
43
45
}
44
46
45
47
{
46
- const buf = new Uint16Array ( new Array ( 10 ) . fill ( 0 ) ) ;
48
+ const buf = new Uint16Array ( 10 ) ;
47
49
const before = Buffer . from ( buf ) . toString ( 'hex' ) ;
48
50
getRandomValues ( new DataView ( buf . buffer ) ) ;
49
51
const after = Buffer . from ( buf ) . toString ( 'hex' ) ;
0 commit comments