112112 r'$\left(X\right)_{a}^{b}$' , # github issue 7615
113113 r'$\dfrac{\$100.00}{y}$' , # github issue #1888
114114]
115+ svg_only_math_tests = [
116+ r'$\sqrt[ab]{123}$' , # github issue #8665
117+ ]
115118
116119digits = "0123456789"
117120uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
167170 for set in chars :
168171 font_tests .append (wrapper % set )
169172
170- font_tests = list (filter (lambda x : x [1 ] is not None , enumerate (font_tests )))
171-
172173
173174@pytest .fixture
174175def baseline_images (request , fontset , index ):
@@ -192,6 +193,32 @@ def test_mathtext_rendering(baseline_images, fontset, index, test):
192193 horizontalalignment = 'center' , verticalalignment = 'center' )
193194
194195
196+ cur_svg_only_math_tests = list (
197+ filter (lambda x : x [1 ] is not None , enumerate (svg_only_math_tests )))
198+
199+
200+ @pytest .mark .parametrize ('index, test' , cur_svg_only_math_tests ,
201+ ids = [str (idx ) for idx , _ in cur_svg_only_math_tests ])
202+ @pytest .mark .parametrize ('fontset' , ['all' ])
203+ @pytest .mark .parametrize ('baseline_images' , ['mathtext1' ], indirect = True )
204+ @image_comparison (
205+ baseline_images = None , extensions = ['svg' ],
206+ savefig_kwarg = {
207+ 'metadata' : { # Minimize svg size.
208+ 'Creator' : None , 'Date' : None , 'Format' : None , 'Type' : None }})
209+ def test_mathtext_rendering_svg_only (baseline_images , fontset , index , test ):
210+ mpl .rcParams ['svg.fonttype' ] = 'none'
211+ fig = plt .figure (figsize = (5.25 , 5.25 ))
212+ fig .patch .set_visible (False ) # Minimize svg size.
213+ fontsets = ['cm' , 'stix' , 'stixsans' , 'dejavusans' , 'dejavuserif' ]
214+ for i , fontset in enumerate (fontsets ):
215+ fig .text (0.5 , (i + .5 ) / len (fontsets ), test , math_fontfamily = fontset ,
216+ horizontalalignment = 'center' , verticalalignment = 'center' )
217+
218+
219+ font_tests = list (filter (lambda x : x [1 ] is not None , enumerate (font_tests )))
220+
221+
195222@pytest .mark .parametrize ('index, test' , font_tests ,
196223 ids = [str (index ) for index , _ in font_tests ])
197224@pytest .mark .parametrize ('fontset' ,
0 commit comments