@@ -2867,6 +2867,81 @@ def test_get_msg_id_ws_only_local(self):
28672867 )
28682868 self .assertEqual (msg_id .token_type , 'msg-id' )
28692869
2870+ def test_parse_message_ids_valid (self ):
2871+ message_ids = self ._test_parse_x (
2872+ parser .parse_message_ids ,
2873+ "<foo@bar> <bar@foo>" ,
2874+ "<foo@bar> <bar@foo>" ,
2875+ "<foo@bar> <bar@foo>" ,
2876+ [],
2877+ )
2878+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2879+
2880+ def test_parse_message_ids_empty (self ):
2881+ message_ids = self ._test_parse_x (
2882+ parser .parse_message_ids ,
2883+ " " ,
2884+ " " ,
2885+ " " ,
2886+ [errors .InvalidHeaderDefect ],
2887+ )
2888+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2889+
2890+ def test_parse_message_ids_comment (self ):
2891+ message_ids = self ._test_parse_x (
2892+ parser .parse_message_ids ,
2893+ "<foo@bar> (foo's message from \" bar\" )" ,
2894+ "<foo@bar> (foo's message from \" bar\" )" ,
2895+ "<foo@bar> " ,
2896+ [],
2897+ )
2898+ self .assertEqual (message_ids .message_ids [0 ].value , '<foo@bar> ' )
2899+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2900+
2901+ def test_parse_message_ids_no_sep (self ):
2902+ message_ids = self ._test_parse_x (
2903+ parser .parse_message_ids ,
2904+ "<foo@bar><bar@foo>" ,
2905+ "<foo@bar><bar@foo>" ,
2906+ "<foo@bar><bar@foo>" ,
2907+ [],
2908+ )
2909+ self .assertEqual (message_ids .message_ids [0 ].value , '<foo@bar>' )
2910+ self .assertEqual (message_ids .message_ids [1 ].value , '<bar@foo>' )
2911+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2912+
2913+ def test_parse_message_ids_comma_sep (self ):
2914+ message_ids = self ._test_parse_x (
2915+ parser .parse_message_ids ,
2916+ "<foo@bar>,<bar@foo>" ,
2917+ "<foo@bar> <bar@foo>" ,
2918+ "<foo@bar> <bar@foo>" ,
2919+ [errors .InvalidHeaderDefect ],
2920+ )
2921+ self .assertEqual (message_ids .message_ids [0 ].value , '<foo@bar>' )
2922+ self .assertEqual (message_ids .message_ids [1 ].value , '<bar@foo>' )
2923+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2924+
2925+ def test_parse_message_ids_invalid_id (self ):
2926+ message_ids = self ._test_parse_x (
2927+ parser .parse_message_ids ,
2928+ "<Date: Wed, 08 Jun 2002 09:78:58 +0600>" ,
2929+ "<Date: Wed, 08 Jun 2002 09:78:58 +0600>" ,
2930+ "<Date: Wed, 08 Jun 2002 09:78:58 +0600>" ,
2931+ [errors .InvalidHeaderDefect ]* 2 ,
2932+ )
2933+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2934+
2935+ def test_parse_message_ids_broken_ang (self ):
2936+ message_ids = self ._test_parse_x (
2937+ parser .parse_message_ids ,
2938+ "<foo@bar> >bar@foo" ,
2939+ "<foo@bar> >bar@foo" ,
2940+ "<foo@bar> >bar@foo" ,
2941+ [errors .InvalidHeaderDefect ]* 1 ,
2942+ )
2943+ self .assertEqual (message_ids .token_type , 'message-id-list' )
2944+
28702945
28712946
28722947@parameterize
0 commit comments