@@ -257,8 +257,7 @@ use crate::run_test;
257257#[ test] fn resvg_filters_feDistantLight_only_elevation ( ) { assert_eq ! ( run_test( "svg/resvg/filters/feDistantLight/only-elevation.svg" , "ref/resvg/filters/feDistantLight/only-elevation.png" , "diff/resvg/filters/feDistantLight/only-elevation.png" , false ) , 0 ) }
258258#[ test] fn resvg_filters_feDistantLight_default_attributes ( ) { assert_eq ! ( run_test( "svg/resvg/filters/feDistantLight/default-attributes.svg" , "ref/resvg/filters/feDistantLight/default-attributes.png" , "diff/resvg/filters/feDistantLight/default-attributes.png" , false ) , 0 ) }
259259#[ test] fn resvg_filters_fePointLight_complex_transform ( ) { assert_eq ! ( run_test( "svg/resvg/filters/fePointLight/complex-transform.svg" , "ref/resvg/filters/fePointLight/complex-transform.png" , "diff/resvg/filters/fePointLight/complex-transform.png" , false ) , 0 ) }
260- // need to investigate
261- #[ ignore] #[ test] fn resvg_filters_fePointLight_primitiveUnits_objectBoundingBox ( ) { assert_eq ! ( run_test( "svg/resvg/filters/fePointLight/primitiveUnits=objectBoundingBox.svg" , "ref/resvg/filters/fePointLight/primitiveUnits=objectBoundingBox.png" , "diff/resvg/filters/fePointLight/primitiveUnits=objectBoundingBox.png" , false ) , 0 ) }
260+ #[ test] fn resvg_filters_fePointLight_primitiveUnits_objectBoundingBox ( ) { assert_eq ! ( run_test( "svg/resvg/filters/fePointLight/primitiveUnits=objectBoundingBox.svg" , "ref/resvg/filters/fePointLight/primitiveUnits=objectBoundingBox.png" , "diff/resvg/filters/fePointLight/primitiveUnits=objectBoundingBox.png" , false ) , 0 ) }
262261#[ test] fn resvg_filters_fePointLight_custom_attributes ( ) { assert_eq ! ( run_test( "svg/resvg/filters/fePointLight/custom-attributes.svg" , "ref/resvg/filters/fePointLight/custom-attributes.png" , "diff/resvg/filters/fePointLight/custom-attributes.png" , false ) , 0 ) }
263262#[ test] fn resvg_filters_fePointLight_default_attributes ( ) { assert_eq ! ( run_test( "svg/resvg/filters/fePointLight/default-attributes.svg" , "ref/resvg/filters/fePointLight/default-attributes.png" , "diff/resvg/filters/fePointLight/default-attributes.png" , false ) , 0 ) }
264263#[ test] fn resvg_filters_filter_in_to_invalid_1 ( ) { assert_eq ! ( run_test( "svg/resvg/filters/filter/in-to-invalid-1.svg" , "ref/resvg/filters/filter/in-to-invalid-1.png" , "diff/resvg/filters/filter/in-to-invalid-1.png" , false ) , 0 ) }
@@ -412,25 +411,20 @@ use crate::run_test;
412411#[ test] fn resvg_paint_servers_radialGradient_attributes_via_xlink_href ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/attributes-via-xlink-href.svg" , "ref/resvg/paint-servers/radialGradient/attributes-via-xlink-href.png" , "diff/resvg/paint-servers/radialGradient/attributes-via-xlink-href.png" , false ) , 0 ) }
413412#[ test] fn resvg_paint_servers_radialGradient_gradientTransform_and_transform ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/gradientTransform-and-transform.svg" , "ref/resvg/paint-servers/radialGradient/gradientTransform-and-transform.png" , "diff/resvg/paint-servers/radialGradient/gradientTransform-and-transform.png" , false ) , 0 ) }
414413#[ test] fn resvg_paint_servers_radialGradient_stops_via_xlink_href ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/stops-via-xlink-href.svg" , "ref/resvg/paint-servers/radialGradient/stops-via-xlink-href.png" , "diff/resvg/paint-servers/radialGradient/stops-via-xlink-href.png" , false ) , 0 ) }
415- // need to investigate
416- #[ ignore] #[ test] fn resvg_paint_servers_radialGradient_fr__1 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=-1.svg" , "ref/resvg/paint-servers/radialGradient/fr=-1.png" , "diff/resvg/paint-servers/radialGradient/fr=-1.png" , false ) , 0 ) }
414+ #[ test] fn resvg_paint_servers_radialGradient_fr__1 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=-1.svg" , "ref/resvg/paint-servers/radialGradient/fr=-1.png" , "diff/resvg/paint-servers/radialGradient/fr=-1.png" , false ) , 0 ) }
417415#[ test] fn resvg_paint_servers_radialGradient_no_stops ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/no-stops.svg" , "ref/resvg/paint-servers/radialGradient/no-stops.png" , "diff/resvg/paint-servers/radialGradient/no-stops.png" , false ) , 0 ) }
418- // need to investigate
419- #[ ignore] #[ test] fn resvg_paint_servers_radialGradient_fr_0_2 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=0.2.svg" , "ref/resvg/paint-servers/radialGradient/fr=0.2.png" , "diff/resvg/paint-servers/radialGradient/fr=0.2.png" , false ) , 0 ) }
416+ #[ test] fn resvg_paint_servers_radialGradient_fr_0_2 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=0.2.svg" , "ref/resvg/paint-servers/radialGradient/fr=0.2.png" , "diff/resvg/paint-servers/radialGradient/fr=0.2.png" , false ) , 0 ) }
420417#[ test] fn resvg_paint_servers_radialGradient_spreadMethod_pad ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/spreadMethod=pad.svg" , "ref/resvg/paint-servers/radialGradient/spreadMethod=pad.png" , "diff/resvg/paint-servers/radialGradient/spreadMethod=pad.png" , false ) , 0 ) }
421- // need to investigate
422- #[ ignore] #[ test] fn resvg_paint_servers_radialGradient_invalid_gradientUnits ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/invalid-gradientUnits.svg" , "ref/resvg/paint-servers/radialGradient/invalid-gradientUnits.png" , "diff/resvg/paint-servers/radialGradient/invalid-gradientUnits.png" , false ) , 0 ) }
418+ #[ test] fn resvg_paint_servers_radialGradient_invalid_gradientUnits ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/invalid-gradientUnits.svg" , "ref/resvg/paint-servers/radialGradient/invalid-gradientUnits.png" , "diff/resvg/paint-servers/radialGradient/invalid-gradientUnits.png" , false ) , 0 ) }
423419#[ test] fn resvg_paint_servers_radialGradient_gradientUnits_objectBoundingBox_with_percent ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/gradientUnits=objectBoundingBox-with-percent.svg" , "ref/resvg/paint-servers/radialGradient/gradientUnits=objectBoundingBox-with-percent.png" , "diff/resvg/paint-servers/radialGradient/gradientUnits=objectBoundingBox-with-percent.png" , false ) , 0 ) }
424420#[ test] fn resvg_paint_servers_radialGradient_invalid_spreadMethod ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/invalid-spreadMethod.svg" , "ref/resvg/paint-servers/radialGradient/invalid-spreadMethod.png" , "diff/resvg/paint-servers/radialGradient/invalid-spreadMethod.png" , false ) , 0 ) }
425- // need to investigate
426- #[ ignore] #[ test] fn resvg_paint_servers_radialGradient_fr_0_5 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=0.5.svg" , "ref/resvg/paint-servers/radialGradient/fr=0.5.png" , "diff/resvg/paint-servers/radialGradient/fr=0.5.png" , false ) , 0 ) }
421+ #[ test] fn resvg_paint_servers_radialGradient_fr_0_5 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=0.5.svg" , "ref/resvg/paint-servers/radialGradient/fr=0.5.png" , "diff/resvg/paint-servers/radialGradient/fr=0.5.png" , false ) , 0 ) }
427422#[ test] fn resvg_paint_servers_radialGradient_fx_resolving_1 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fx-resolving-1.svg" , "ref/resvg/paint-servers/radialGradient/fx-resolving-1.png" , "diff/resvg/paint-servers/radialGradient/fx-resolving-1.png" , false ) , 0 ) }
428423#[ test] fn resvg_paint_servers_radialGradient_stops_via_xlink_href_from_linearGradient ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/stops-via-xlink-href-from-linearGradient.svg" , "ref/resvg/paint-servers/radialGradient/stops-via-xlink-href-from-linearGradient.png" , "diff/resvg/paint-servers/radialGradient/stops-via-xlink-href-from-linearGradient.png" , false ) , 0 ) }
429424#[ test] fn resvg_paint_servers_radialGradient_many_stops ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/many-stops.svg" , "ref/resvg/paint-servers/radialGradient/many-stops.png" , "diff/resvg/paint-servers/radialGradient/many-stops.png" , false ) , 0 ) }
430425#[ test] fn resvg_paint_servers_radialGradient_fx_resolving_2 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fx-resolving-2.svg" , "ref/resvg/paint-servers/radialGradient/fx-resolving-2.png" , "diff/resvg/paint-servers/radialGradient/fx-resolving-2.png" , false ) , 0 ) }
431426#[ test] fn resvg_paint_servers_radialGradient_fx_resolving_3 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fx-resolving-3.svg" , "ref/resvg/paint-servers/radialGradient/fx-resolving-3.png" , "diff/resvg/paint-servers/radialGradient/fx-resolving-3.png" , false ) , 0 ) }
432- // need to investigate
433- #[ ignore] #[ test] fn resvg_paint_servers_radialGradient_fr_0_7 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=0.7.svg" , "ref/resvg/paint-servers/radialGradient/fr=0.7.png" , "diff/resvg/paint-servers/radialGradient/fr=0.7.png" , false ) , 0 ) }
427+ #[ test] fn resvg_paint_servers_radialGradient_fr_0_7 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/fr=0.7.svg" , "ref/resvg/paint-servers/radialGradient/fr=0.7.png" , "diff/resvg/paint-servers/radialGradient/fr=0.7.png" , false ) , 0 ) }
434428#[ test] fn resvg_paint_servers_radialGradient_gradientTransform ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/gradientTransform.svg" , "ref/resvg/paint-servers/radialGradient/gradientTransform.png" , "diff/resvg/paint-servers/radialGradient/gradientTransform.png" , false ) , 0 ) }
435429#[ test] fn resvg_paint_servers_radialGradient_gradientUnits_userSpaceOnUse ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/gradientUnits=userSpaceOnUse.svg" , "ref/resvg/paint-servers/radialGradient/gradientUnits=userSpaceOnUse.png" , "diff/resvg/paint-servers/radialGradient/gradientUnits=userSpaceOnUse.png" , false ) , 0 ) }
436430#[ test] fn resvg_paint_servers_radialGradient_zero_r_with_stop_opacity_2 ( ) { assert_eq ! ( run_test( "svg/resvg/paint-servers/radialGradient/zero-r-with-stop-opacity-2.svg" , "ref/resvg/paint-servers/radialGradient/zero-r-with-stop-opacity-2.png" , "diff/resvg/paint-servers/radialGradient/zero-r-with-stop-opacity-2.png" , false ) , 0 ) }
@@ -826,10 +820,10 @@ use crate::run_test;
826820#[ test] fn resvg_painting_stroke_linecap_butt ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/butt.svg" , "ref/resvg/painting/stroke-linecap/butt.png" , "diff/resvg/painting/stroke-linecap/butt.png" , false ) , 0 ) }
827821#[ test] fn resvg_painting_stroke_linecap_open_path_with_square ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/open-path-with-square.svg" , "ref/resvg/painting/stroke-linecap/open-path-with-square.png" , "diff/resvg/painting/stroke-linecap/open-path-with-square.png" , false ) , 0 ) }
828822#[ test] fn resvg_painting_stroke_linecap_round ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/round.svg" , "ref/resvg/painting/stroke-linecap/round.png" , "diff/resvg/painting/stroke-linecap/round.png" , false ) , 0 ) }
829- // not supported in PDF
823+ // need to check how Firefox does it
830824#[ ignore] #[ test] fn resvg_painting_stroke_linecap_zero_length_path_with_square ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/zero-length-path-with-square.svg" , "ref/resvg/painting/stroke-linecap/zero-length-path-with-square.png" , "diff/resvg/painting/stroke-linecap/zero-length-path-with-square.png" , false ) , 0 ) }
831825#[ test] fn resvg_painting_stroke_linecap_square ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/square.svg" , "ref/resvg/painting/stroke-linecap/square.png" , "diff/resvg/painting/stroke-linecap/square.png" , false ) , 0 ) }
832- // not supported in PDF
826+ // need to check how Chrome does it
833827#[ ignore] #[ test] fn resvg_painting_stroke_linecap_zero_length_path_with_round ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/zero-length-path-with-round.svg" , "ref/resvg/painting/stroke-linecap/zero-length-path-with-round.png" , "diff/resvg/painting/stroke-linecap/zero-length-path-with-round.png" , false ) , 0 ) }
834828#[ test] fn resvg_painting_stroke_linecap_open_path_with_butt ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/open-path-with-butt.svg" , "ref/resvg/painting/stroke-linecap/open-path-with-butt.png" , "diff/resvg/painting/stroke-linecap/open-path-with-butt.png" , false ) , 0 ) }
835829#[ test] fn resvg_painting_stroke_linecap_zero_length_path_with_butt ( ) { assert_eq ! ( run_test( "svg/resvg/painting/stroke-linecap/zero-length-path-with-butt.svg" , "ref/resvg/painting/stroke-linecap/zero-length-path-with-butt.png" , "diff/resvg/painting/stroke-linecap/zero-length-path-with-butt.png" , false ) , 0 ) }
@@ -1679,7 +1673,7 @@ use crate::run_test;
16791673#[ test] fn resvg_masking_clipPath_clip_path_on_self_2 ( ) { assert_eq ! ( run_test( "svg/resvg/masking/clipPath/clip-path-on-self-2.svg" , "ref/resvg/masking/clipPath/clip-path-on-self-2.png" , "diff/resvg/masking/clipPath/clip-path-on-self-2.png" , false ) , 0 ) }
16801674#[ test] fn resvg_masking_mask_with_image ( ) { assert_eq ! ( run_test( "svg/resvg/masking/mask/with-image.svg" , "ref/resvg/masking/mask/with-image.png" , "diff/resvg/masking/mask/with-image.png" , false ) , 0 ) }
16811675#[ test] fn resvg_masking_mask_maskUnits_userSpaceOnUse_without_rect ( ) { assert_eq ! ( run_test( "svg/resvg/masking/mask/maskUnits=userSpaceOnUse-without-rect.svg" , "ref/resvg/masking/mask/maskUnits=userSpaceOnUse-without-rect.png" , "diff/resvg/masking/mask/maskUnits=userSpaceOnUse-without-rect.png" , false ) , 0 ) }
1682- // need to investigate
1676+ // bug. the soft mask that will be created as part of the gradientwill override the soft mask currently in place when rendering
16831677#[ ignore] #[ test] fn resvg_masking_mask_recursive_on_child ( ) { assert_eq ! ( run_test( "svg/resvg/masking/mask/recursive-on-child.svg" , "ref/resvg/masking/mask/recursive-on-child.png" , "diff/resvg/masking/mask/recursive-on-child.png" , false ) , 0 ) }
16841678#[ test] fn resvg_masking_mask_maskUnits_userSpaceOnUse_with_rect ( ) { assert_eq ! ( run_test( "svg/resvg/masking/mask/maskUnits=userSpaceOnUse-with-rect.svg" , "ref/resvg/masking/mask/maskUnits=userSpaceOnUse-with-rect.png" , "diff/resvg/masking/mask/maskUnits=userSpaceOnUse-with-rect.png" , false ) , 0 ) }
16851679#[ test] fn resvg_masking_mask_mask_on_child ( ) { assert_eq ! ( run_test( "svg/resvg/masking/mask/mask-on-child.svg" , "ref/resvg/masking/mask/mask-on-child.png" , "diff/resvg/masking/mask/mask-on-child.png" , false ) , 0 ) }
@@ -1774,5 +1768,5 @@ use crate::run_test;
17741768#[ test] fn custom_structure_viewbox_negative_viewbox ( ) { assert_eq ! ( run_test( "svg/custom/structure/viewbox/negative_viewbox.svg" , "ref/custom/structure/viewbox/negative_viewbox.png" , "diff/custom/structure/viewbox/negative_viewbox.png" , false ) , 0 ) }
17751769#[ test] fn custom_masking_clipPath_clip_path_with_nested_clip_path_and_transform ( ) { assert_eq ! ( run_test( "svg/custom/masking/clipPath/clip-path-with-nested-clip-path-and-transform.svg" , "ref/custom/masking/clipPath/clip-path-with-nested-clip-path-and-transform.png" , "diff/custom/masking/clipPath/clip-path-with-nested-clip-path-and-transform.png" , false ) , 0 ) }
17761770#[ test] fn custom_masking_clipPath_complex_clip_path_with_nested_clip_path_on_child ( ) { assert_eq ! ( run_test( "svg/custom/masking/clipPath/complex-clip-path-with-nested-clip-path-on-child.svg" , "ref/custom/masking/clipPath/complex-clip-path-with-nested-clip-path-on-child.png" , "diff/custom/masking/clipPath/complex-clip-path-with-nested-clip-path-on-child.png" , false ) , 0 ) }
1777- // bug
1771+ // bug. we currently override the soft mask thatis in place in the content stream by creating anSMask entry in the Image XObject for transparency
17781772#[ ignore] #[ test] fn custom_masking_mask_mask_and_image_with_transparency ( ) { assert_eq ! ( run_test( "svg/custom/masking/mask/mask-and-image-with-transparency.svg" , "ref/custom/masking/mask/mask-and-image-with-transparency.png" , "diff/custom/masking/mask/mask-and-image-with-transparency.png" , false ) , 0 ) }
0 commit comments