@@ -13,18 +13,12 @@ const opts = {
1313 context : 'Context' ,
1414} ;
1515function createGrowableSharedArrayBufferView ( ) {
16- try {
17- const buffer = new SharedArrayBuffer ( 4 , { maxByteLength : 8 } ) ;
18- const view = new Uint8Array ( buffer ) ;
19- return view . buffer . growable === true ? view : undefined ;
20- } catch {
21- return undefined ;
22- }
16+ const buffer = new SharedArrayBuffer ( 4 , { maxByteLength : 8 } ) ;
17+ const view = new Uint8Array ( buffer ) ;
18+ assert . strictEqual ( view . buffer . growable , true ) ;
19+ return view ;
2320}
2421
25- const hasGrowableSharedArrayBufferView =
26- createGrowableSharedArrayBufferView ( ) !== undefined ;
27-
2822function assertInvalidArgType ( fn ) {
2923 assert . throws ( fn , {
3024 name : 'TypeError' ,
@@ -369,7 +363,7 @@ assert.throws(() => webidl.requiredArguments(1, 2, opts), {
369363 ] ) ;
370364
371365 const idlDict = converter ( { value : 1 } ) ;
372- assert . deepStrictEqual ( idlDict , { value : '1' } ) ;
366+ assert . deepStrictEqual ( idlDict , { __proto__ : null , value : '1' } ) ;
373367
374368 assert . throws ( ( ) => converter ( { } , opts ) , {
375369 name : 'TypeError' ,
@@ -441,39 +435,37 @@ assert.throws(() => webidl.requiredArguments(1, 2, opts), {
441435 assert . strictEqual ( converters . BufferSource ( view , allowShared ) , view ) ;
442436 assert . strictEqual ( converters . Uint8Array ( view , allowShared ) , view ) ;
443437
444- if ( hasGrowableSharedArrayBufferView ) {
445- const growableView = createGrowableSharedArrayBufferView ( ) ;
446-
447- assert . throws ( ( ) => converters . BufferSource ( growableView , {
448- __proto__ : null ,
449- ...opts ,
450- allowShared : true ,
451- allowResizable : false ,
452- } ) , {
453- name : 'TypeError' ,
454- code : 'ERR_INVALID_ARG_TYPE' ,
455- message : 'Prefix: Context is backed by a growable ' +
456- 'SharedArrayBuffer, which is not allowed.' ,
457- } ) ;
458- assert . throws ( ( ) => converters . Uint8Array ( growableView , {
459- __proto__ : null ,
460- ...opts ,
461- allowShared : true ,
462- } ) , {
463- name : 'TypeError' ,
464- code : 'ERR_INVALID_ARG_TYPE' ,
465- message : 'Prefix: Context is backed by a growable ' +
466- 'SharedArrayBuffer, which is not allowed.' ,
467- } ) ;
468- assert . strictEqual ( converters . BufferSource ( growableView , {
469- __proto__ : null ,
470- allowShared : true ,
471- allowResizable : true ,
472- } ) , growableView ) ;
473- assert . strictEqual ( converters . Uint8Array ( growableView , {
474- __proto__ : null ,
475- allowShared : true ,
476- allowResizable : true ,
477- } ) , growableView ) ;
478- }
438+ const growableView = createGrowableSharedArrayBufferView ( ) ;
439+
440+ assert . throws ( ( ) => converters . BufferSource ( growableView , {
441+ __proto__ : null ,
442+ ...opts ,
443+ allowShared : true ,
444+ allowResizable : false ,
445+ } ) , {
446+ name : 'TypeError' ,
447+ code : 'ERR_INVALID_ARG_TYPE' ,
448+ message : 'Prefix: Context is backed by a growable ' +
449+ 'SharedArrayBuffer, which is not allowed.' ,
450+ } ) ;
451+ assert . throws ( ( ) => converters . Uint8Array ( growableView , {
452+ __proto__ : null ,
453+ ...opts ,
454+ allowShared : true ,
455+ } ) , {
456+ name : 'TypeError' ,
457+ code : 'ERR_INVALID_ARG_TYPE' ,
458+ message : 'Prefix: Context is backed by a growable ' +
459+ 'SharedArrayBuffer, which is not allowed.' ,
460+ } ) ;
461+ assert . strictEqual ( converters . BufferSource ( growableView , {
462+ __proto__ : null ,
463+ allowShared : true ,
464+ allowResizable : true ,
465+ } ) , growableView ) ;
466+ assert . strictEqual ( converters . Uint8Array ( growableView , {
467+ __proto__ : null ,
468+ allowShared : true ,
469+ allowResizable : true ,
470+ } ) , growableView ) ;
479471}
0 commit comments