@@ -1066,3 +1066,30 @@ def test_patch_hatchcolor_fallback_logic():
10661066 # hatch.color rcParam is set to 'edge' and edgecolor is not set
10671067 rect = Rectangle ((0 , 0 ), 1 , 1 , hatch = '//' )
10681068 assert mcolors .same_color (rect .get_hatchcolor (), mpl .rcParams ['patch.edgecolor' ])
1069+
1070+
1071+ def test_facecolor_none_force_edgecolor_false ():
1072+ rcParams ['patch.force_edgecolor' ] = False # default value
1073+ rect = Rectangle ((0 , 0 ), 1 , 1 , facecolor = "none" )
1074+ assert rect .get_edgecolor () == (0.0 , 0.0 , 0.0 , 0.0 )
1075+
1076+
1077+ def test_facecolor_none_force_edgecolor_true ():
1078+ rcParams ['patch.force_edgecolor' ] = True
1079+ rect = Rectangle ((0 , 0 ), 1 , 1 , facecolor = "none" )
1080+ assert rect .get_edgecolor () == (0.0 , 0.0 , 0.0 , 1 )
1081+
1082+
1083+ def test_facecolor_none_edgecolor_force_edgecolor ():
1084+
1085+ # Case 1:force_edgecolor =False -> rcParams['patch.edgecolor'] should NOT be applied
1086+ rcParams ['patch.force_edgecolor' ] = False
1087+ rcParams ['patch.edgecolor' ] = 'red'
1088+ rect = Rectangle ((0 , 0 ), 1 , 1 , facecolor = "none" )
1089+ assert not mcolors .same_color (rect .get_edgecolor (), rcParams ['patch.edgecolor' ])
1090+
1091+ # Case 2:force_edgecolor =True -> rcParams['patch.edgecolor'] SHOULD be applied
1092+ rcParams ['patch.force_edgecolor' ] = True
1093+ rcParams ['patch.edgecolor' ] = 'red'
1094+ rect = Rectangle ((0 , 0 ), 1 , 1 , facecolor = "none" )
1095+ assert mcolors .same_color (rect .get_edgecolor (), rcParams ['patch.edgecolor' ])
0 commit comments