@@ -1066,3 +1066,30 @@ def test_patch_hatchcolor_fallback_logic():
1066
1066
# hatch.color rcParam is set to 'edge' and edgecolor is not set
1067
1067
rect = Rectangle ((0 , 0 ), 1 , 1 , hatch = '//' )
1068
1068
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