@@ -202,38 +202,36 @@ def test_control_chars_with_echo_char(self):
202202
203203
204204class GetpassEchoCharTest (unittest .TestCase ):
205+ # Tests for the `echo_char` parameter of `getpass.getpass()`
205206 # Successful Validation Cases
206207 def test_accepts_none (self ):
207208 getpass ._check_echo_char (None )
208209
209- def test_accepts_single_printable_ascii (self ):
210- for ch in ["*" , "A" , " " ]:
211- with self .subTest (echo_char = ch ):
212- getpass ._check_echo_char (ch )
210+ @support .subTests ('echo_char' , ["*" , "A" , " " ])
211+ def test_accepts_single_printable_ascii (self , echo_char ):
212+ getpass ._check_echo_char (echo_char )
213213
214214 # Rejected `echo_char` Cases
215+ # ValueError Rejection(s)
215216 def test_rejects_empty_string (self ):
216217 self .assertRaises (ValueError , getpass .getpass , echo_char = "" )
217218
218- def test_rejects_multi_character_strings (self ):
219- for s in ["***" , "AA" , "aA*!" ]:
220- with self .subTest (echo_char = s ):
221- self .assertRaises (ValueError , getpass .getpass , echo_char = s )
222-
223- def test_rejects_non_ascii (self ):
224- for ch in ["Æ" , "❤️" , "🐍" ]:
225- with self .subTest (echo_char = ch ):
226- self .assertRaises (ValueError , getpass .getpass , echo_char = ch )
227-
228- def test_rejects_control_characters (self ):
229- for ch in ["\n " , "\t " , "\r " , "\x00 " , "\x7f " , "\x07 " ]:
230- with self .subTest (echo_char = ch ):
231- self .assertRaises (ValueError , getpass .getpass , echo_char = ch )
232-
233- def test_rejects_non_string (self ):
234- for item in [b"*" , 0 , 0.0 , [], {}]:
235- with self .subTest (echo_char = item ):
236- self .assertRaises (TypeError , getpass .getpass , echo_char = item )
219+ @support .subTests ('echo_char' , ["***" , "AA" , "aA*!" ])
220+ def test_rejects_multi_character_strings (self , echo_char ):
221+ self .assertRaises (ValueError , getpass .getpass , echo_char = echo_char )
222+
223+ @support .subTests ('echo_char' , ["Æ" , "❤️" , "🐍" ])
224+ def test_rejects_non_ascii (self , echo_char ):
225+ self .assertRaises (ValueError , getpass .getpass , echo_char = echo_char )
226+
227+ @support .subTests ('echo_char' , ["\n " , "\t " , "\r " , "\x00 " , "\x7f " , "\x07 " ])
228+ def test_rejects_control_characters (self , echo_char ):
229+ self .assertRaises (ValueError , getpass .getpass , echo_char = echo_char )
230+
231+ # TypeError Rejection(s)
232+ @support .subTests ('echo_char' , [b"*" , 0 , 0.0 , [], {}])
233+ def test_rejects_non_string (self , echo_char ):
234+ self .assertRaises (TypeError , getpass .getpass , echo_char = echo_char )
237235
238236
239237if __name__ == "__main__" :
0 commit comments