@@ -296,9 +296,12 @@ describe('Etag Middleware', () => {
296296
297297 it ( 'Should not generate etag with custom generator when crypto is unavailable' , async ( ) => {
298298 const app = new Hono ( )
299- app . use ( '/etag/*' , etag ( {
300- generateDigest : undefined
301- } ) )
299+ app . use (
300+ '/etag/*' ,
301+ etag ( {
302+ generateDigest : undefined ,
303+ } )
304+ )
302305 app . get ( '/etag/no-custom-digest' , ( c ) => c . text ( 'Hono is hot' ) )
303306 const res = await app . request ( '/etag/no-custom-digest' )
304307 expect ( res . status ) . toBe ( 200 )
@@ -396,11 +399,14 @@ describe('Etag Middleware', () => {
396399
397400 it ( 'Should propagate generateDigest errors' , async ( ) => {
398401 const app = new Hono ( )
399- app . use ( '/etag/*' , etag ( {
400- generateDigest : ( ) => {
401- throw new Error ( 'Digest generation failed' )
402- }
403- } ) )
402+ app . use (
403+ '/etag/*' ,
404+ etag ( {
405+ generateDigest : ( ) => {
406+ throw new Error ( 'Digest generation failed' )
407+ } ,
408+ } )
409+ )
404410 app . get ( '/etag/error-digest' , ( c ) => c . text ( 'Error test' ) )
405411
406412 const res = await app . request ( 'http://localhost/etag/error-digest' )
@@ -411,15 +417,18 @@ describe('Etag Middleware', () => {
411417 describe ( 'Digest generation edge cases' , ( ) => {
412418 it ( 'Should handle ArrayBuffer input directly' , async ( ) => {
413419 const app = new Hono ( )
414- app . use ( '/etag/*' , etag ( {
415- generateDigest : ( body : Uint8Array ) => {
416- const result = new ArrayBuffer ( 2 )
417- const view = new Uint8Array ( result )
418- view [ 0 ] = body [ 0 ] || 0xaa
419- view [ 1 ] = body [ 1 ] || 0xbb
420- return result
421- }
422- } ) )
420+ app . use (
421+ '/etag/*' ,
422+ etag ( {
423+ generateDigest : ( body : Uint8Array ) => {
424+ const result = new ArrayBuffer ( 2 )
425+ const view = new Uint8Array ( result )
426+ view [ 0 ] = body [ 0 ] || 0xaa
427+ view [ 1 ] = body [ 1 ] || 0xbb
428+ return result
429+ } ,
430+ } )
431+ )
423432 app . get ( '/etag/array-buffer' , ( c ) => {
424433 const buffer = new ArrayBuffer ( 4 )
425434 const view = new Uint8Array ( buffer )
@@ -437,9 +446,12 @@ describe('Etag Middleware', () => {
437446
438447 it ( 'Should handle generator returning empty ArrayBuffer' , async ( ) => {
439448 const app = new Hono ( )
440- app . use ( '/etag/*' , etag ( {
441- generateDigest : ( ) => new ArrayBuffer ( 0 )
442- } ) )
449+ app . use (
450+ '/etag/*' ,
451+ etag ( {
452+ generateDigest : ( ) => new ArrayBuffer ( 0 ) ,
453+ } )
454+ )
443455 app . get ( '/etag/empty-result' , ( c ) => c . text ( 'Test' ) )
444456
445457 const res = await app . request ( 'http://localhost/etag/empty-result' )
@@ -449,20 +461,23 @@ describe('Etag Middleware', () => {
449461
450462 it ( 'Should handle async generator with ArrayBuffer input (covers line 13-14)' , async ( ) => {
451463 const app = new Hono ( )
452- app . use ( '/etag/*' , etag ( {
453- generateDigest : async ( body : Uint8Array ) => {
454- // This async function will trigger the await on line 13-14 in digest.ts
455- return new Promise ( resolve => {
456- setTimeout ( ( ) => {
457- const result = new ArrayBuffer ( 2 )
458- const view = new Uint8Array ( result )
459- view [ 0 ] = body [ 0 ] || 0xaa
460- view [ 1 ] = body [ 1 ] || 0xbb
461- resolve ( result )
462- } , 0 )
463- } )
464- }
465- } ) )
464+ app . use (
465+ '/etag/*' ,
466+ etag ( {
467+ generateDigest : async ( body : Uint8Array ) => {
468+ // This async function will trigger the await on line 13-14 in digest.ts
469+ return new Promise ( ( resolve ) => {
470+ setTimeout ( ( ) => {
471+ const result = new ArrayBuffer ( 2 )
472+ const view = new Uint8Array ( result )
473+ view [ 0 ] = body [ 0 ] || 0xaa
474+ view [ 1 ] = body [ 1 ] || 0xbb
475+ resolve ( result )
476+ } , 0 )
477+ } )
478+ } ,
479+ } )
480+ )
466481 app . get ( '/etag/async-arraybuffer' , ( c ) => {
467482 // Use ArrayBuffer to trigger the ArrayBuffer branch in digest.ts
468483 const buffer = new ArrayBuffer ( 2 )
@@ -479,16 +494,19 @@ describe('Etag Middleware', () => {
479494
480495 it ( 'Should handle async generator returning empty ArrayBuffer with ArrayBuffer input' , async ( ) => {
481496 const app = new Hono ( )
482- app . use ( '/etag/*' , etag ( {
483- generateDigest : async ( ) => {
484- // Async generator that returns empty ArrayBuffer - covers line 50-51
485- return new Promise ( resolve => {
486- setTimeout ( ( ) => {
487- resolve ( new ArrayBuffer ( 0 ) )
488- } , 0 )
489- } )
490- }
491- } ) )
497+ app . use (
498+ '/etag/*' ,
499+ etag ( {
500+ generateDigest : async ( ) => {
501+ // Async generator that returns empty ArrayBuffer - covers line 50-51
502+ return new Promise ( ( resolve ) => {
503+ setTimeout ( ( ) => {
504+ resolve ( new ArrayBuffer ( 0 ) )
505+ } , 0 )
506+ } )
507+ } ,
508+ } )
509+ )
492510 app . get ( '/etag/async-empty-arraybuffer' , ( c ) => {
493511 const buffer = new ArrayBuffer ( 1 )
494512 const view = new Uint8Array ( buffer )
@@ -503,14 +521,17 @@ describe('Etag Middleware', () => {
503521
504522 it ( 'Should handle hex conversion for all byte values' , async ( ) => {
505523 const app = new Hono ( )
506- app . use ( '/etag/*' , etag ( {
507- generateDigest : ( body : Uint8Array ) => {
508- const result = new ArrayBuffer ( body . length )
509- const view = new Uint8Array ( result )
510- view . set ( body )
511- return result
512- }
513- } ) )
524+ app . use (
525+ '/etag/*' ,
526+ etag ( {
527+ generateDigest : ( body : Uint8Array ) => {
528+ const result = new ArrayBuffer ( body . length )
529+ const view = new Uint8Array ( result )
530+ view . set ( body )
531+ return result
532+ } ,
533+ } )
534+ )
514535 app . get ( '/etag/hex-test' , ( c ) => {
515536 const buffer = new ArrayBuffer ( 4 )
516537 const view = new Uint8Array ( buffer )
0 commit comments