@@ -218,6 +218,55 @@ common.expectWarning('DeprecationWarning',
218218 } ) ) ;
219219}
220220
221+ {
222+ const buf = new Uint16Array ( 10 ) ;
223+ const before = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
224+ crypto . randomFillSync ( buf , 1 , 8 ) ;
225+ const after = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
226+ assert . notStrictEqual ( before , after ) ;
227+ assert . deepStrictEqual ( before . slice ( 0 , 4 ) , after . slice ( 0 , 4 ) ) ;
228+ assert . deepStrictEqual ( before . slice ( - 4 ) , after . slice ( - 4 ) ) ;
229+ }
230+
231+ {
232+ const buf = new Uint32Array ( 10 ) ;
233+ const before = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
234+ crypto . randomFillSync ( buf , 1 , 8 ) ;
235+ const after = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
236+ assert . notStrictEqual ( before , after ) ;
237+ assert . deepStrictEqual ( before . slice ( 0 , 8 ) , after . slice ( 0 , 8 ) ) ;
238+ assert . deepStrictEqual ( before . slice ( - 8 ) , after . slice ( - 8 ) ) ;
239+ }
240+
241+ {
242+ const buf = new Uint16Array ( 10 ) ;
243+ const before = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
244+ crypto . randomFill ( buf , 1 , 8 , common . mustSucceed ( ( buf ) => {
245+ const after = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
246+ assert . notStrictEqual ( before , after ) ;
247+ assert . deepStrictEqual ( before . slice ( 0 , 4 ) , after . slice ( 0 , 4 ) ) ;
248+ assert . deepStrictEqual ( before . slice ( - 4 ) , after . slice ( - 4 ) ) ;
249+ } ) ) ;
250+ }
251+
252+ {
253+ const buf = new Uint32Array ( 10 ) ;
254+ const before = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
255+ crypto . randomFill ( buf , 1 , 8 , common . mustSucceed ( ( buf ) => {
256+ const after = Buffer . from ( buf . buffer ) . toString ( 'hex' ) ;
257+ assert . notStrictEqual ( before , after ) ;
258+ assert . deepStrictEqual ( before . slice ( 0 , 8 ) , after . slice ( 0 , 8 ) ) ;
259+ assert . deepStrictEqual ( before . slice ( - 8 ) , after . slice ( - 8 ) ) ;
260+ } ) ) ;
261+ }
262+
263+ {
264+ // randomFill() with an offset and no size must not throw for types
265+ // without a .length property, matching randomFillSync().
266+ crypto . randomFill ( new ArrayBuffer ( 10 ) , 2 , common . mustSucceed ( ) ) ;
267+ crypto . randomFill ( new DataView ( new ArrayBuffer ( 10 ) ) , 2 , common . mustSucceed ( ) ) ;
268+ }
269+
221270{
222271 [
223272 Buffer . alloc ( 10 ) ,
0 commit comments