@@ -411,6 +411,21 @@ mod tests {
411
411
. is_err ( )
412
412
}
413
413
414
+ async fn generate_image ( data : OgImageData < ' _ > ) -> Option < Vec < u8 > > {
415
+ if skip_if_typst_unavailable ( ) {
416
+ return None ;
417
+ }
418
+
419
+ let generator = OgImageGenerator :: default ( ) ;
420
+
421
+ let temp_file = generator
422
+ . generate ( data)
423
+ . await
424
+ . expect ( "Failed to generate image" ) ;
425
+
426
+ Some ( std:: fs:: read ( temp_file. path ( ) ) . expect ( "Failed to read generated image" ) )
427
+ }
428
+
414
429
#[ test]
415
430
fn test_generate_template_snapshot ( ) {
416
431
let generator = OgImageGenerator :: default ( ) ;
@@ -452,77 +467,37 @@ mod tests {
452
467
453
468
#[ tokio:: test]
454
469
async fn test_generate_og_image_snapshot ( ) {
455
- if skip_if_typst_unavailable ( ) {
456
- return ;
457
- }
458
-
459
- let generator = OgImageGenerator :: default ( ) ;
460
470
let data = create_simple_test_data ( ) ;
461
471
462
- let temp_file = generator
463
- . generate ( data)
464
- . await
465
- . expect ( "Failed to generate image" ) ;
466
- let image_data = std:: fs:: read ( temp_file. path ( ) ) . expect ( "Failed to read generated image" ) ;
467
-
468
- // Use insta to create a binary snapshot of the generated PNG
469
- insta:: assert_binary_snapshot!( "generated_og_image.png" , image_data) ;
472
+ if let Some ( image_data) = generate_image ( data) . await {
473
+ insta:: assert_binary_snapshot!( "generated_og_image.png" , image_data) ;
474
+ }
470
475
}
471
476
472
477
#[ tokio:: test]
473
478
async fn test_generate_og_image_overflow_snapshot ( ) {
474
- if skip_if_typst_unavailable ( ) {
475
- return ;
476
- }
477
-
478
- let generator = OgImageGenerator :: default ( ) ;
479
479
let data = create_overflow_test_data ( ) ;
480
480
481
- let temp_file = generator
482
- . generate ( data)
483
- . await
484
- . expect ( "Failed to generate image" ) ;
485
- let image_data = std:: fs:: read ( temp_file. path ( ) ) . expect ( "Failed to read generated image" ) ;
486
-
487
- // Use insta to create a binary snapshot of the generated PNG
488
- insta:: assert_binary_snapshot!( "generated_og_image_overflow.png" , image_data) ;
481
+ if let Some ( image_data) = generate_image ( data) . await {
482
+ insta:: assert_binary_snapshot!( "generated_og_image_overflow.png" , image_data) ;
483
+ }
489
484
}
490
485
491
486
#[ tokio:: test]
492
487
async fn test_generate_og_image_minimal_snapshot ( ) {
493
- if skip_if_typst_unavailable ( ) {
494
- return ;
495
- }
496
-
497
- let generator = OgImageGenerator :: default ( ) ;
498
488
let data = create_minimal_test_data ( ) ;
499
489
500
- let temp_file = generator
501
- . generate ( data)
502
- . await
503
- . expect ( "Failed to generate image" ) ;
504
- let image_data = std:: fs:: read ( temp_file. path ( ) ) . expect ( "Failed to read generated image" ) ;
505
-
506
- // Use insta to create a binary snapshot of the generated PNG
507
- insta:: assert_binary_snapshot!( "generated_og_image_minimal.png" , image_data) ;
490
+ if let Some ( image_data) = generate_image ( data) . await {
491
+ insta:: assert_binary_snapshot!( "generated_og_image_minimal.png" , image_data) ;
492
+ }
508
493
}
509
494
510
495
#[ tokio:: test]
511
496
async fn test_generate_og_image_escaping_snapshot ( ) {
512
- if skip_if_typst_unavailable ( ) {
513
- return ;
514
- }
515
-
516
- let generator = OgImageGenerator :: default ( ) ;
517
497
let data = create_escaping_test_data ( ) ;
518
498
519
- let temp_file = generator
520
- . generate ( data)
521
- . await
522
- . expect ( "Failed to generate image" ) ;
523
- let image_data = std:: fs:: read ( temp_file. path ( ) ) . expect ( "Failed to read generated image" ) ;
524
-
525
- // Use insta to create a binary snapshot of the generated PNG
526
- insta:: assert_binary_snapshot!( "generated_og_image_escaping.png" , image_data) ;
499
+ if let Some ( image_data) = generate_image ( data) . await {
500
+ insta:: assert_binary_snapshot!( "generated_og_image_escaping.png" , image_data) ;
501
+ }
527
502
}
528
503
}
0 commit comments