@@ -514,21 +514,31 @@ def test_no_supported_modes_method(self, tmp_path: Path) -> None:
514514 im = hopper ()
515515 im .save (temp_file , convert_mode = True )
516516
517- def test_convert_mode (self ) -> None :
518- for mode , modes in [["P" , []], ["P" , ["P" ]]]: # no modes, same mode
519- im = Image .new (mode , (100 , 100 ))
520- assert im ._convert_mode (modes ) is None
521-
522- for mode , modes in [
523- ["P" , ["RGB" ]],
524- ["P" , ["L" ]], # converting to a non-preferred mode
525- ["LA" , ["P" ]],
526- ["I" , ["L" ]],
527- ["RGB" , ["L" ]],
528- ["RGB" , ["CMYK" ]],
529- ]:
530- im = Image .new (mode , (100 , 100 ))
531- assert im ._convert_mode (modes ) is not None
517+ @pytest .mark .parametrize (
518+ "mode, modes" ,
519+ (
520+ ("P" , ["RGB" ]),
521+ ("P" , ["L" ]), # converting to a non-preferred mode
522+ ("LA" , ["P" ]),
523+ ("I" , ["L" ]),
524+ ("RGB" , ["L" ]),
525+ ("RGB" , ["CMYK" ]),
526+ ),
527+ )
528+ def test_convert_mode (self , mode : str , modes : list [str ]) -> None :
529+ im = Image .new (mode , (100 , 100 ))
530+ assert im ._convert_mode (modes ) is not None
531+
532+ @pytest .mark .parametrize (
533+ "mode, modes" ,
534+ (
535+ ("P" , []), # no mode
536+ ("P" , ["P" ]), # same mode
537+ ),
538+ )
539+ def test_convert_mode_noop (self , mode : str , modes : list [str ]) -> None :
540+ im = Image .new (mode , (100 , 100 ))
541+ assert im ._convert_mode (modes ) is None
532542
533543 def test_effect_mandelbrot (self ) -> None :
534544 # Arrange
0 commit comments