@@ -585,11 +585,10 @@ def test_sendto_memoryview(self):
585585
586586 def test_sendto_no_data (self ):
587587 transport = self .datagram_transport ()
588- transport ._buffer .append ((b'data' , ('0.0.0.0' , 12345 )))
589- transport .sendto (b'' , ())
590- self .assertFalse (self .sock .sendto .called )
591- self .assertEqual (
592- [(b'data' , ('0.0.0.0' , 12345 ))], list (transport ._buffer ))
588+ transport .sendto (b'' , ('0.0.0.0' , 1234 ))
589+ self .assertTrue (self .proactor .sendto .called )
590+ self .proactor .sendto .assert_called_with (
591+ self .sock , b'' , addr = ('0.0.0.0' , 1234 ))
593592
594593 def test_sendto_buffer (self ):
595594 transport = self .datagram_transport ()
@@ -628,6 +627,19 @@ def test_sendto_buffer_memoryview(self):
628627 list (transport ._buffer ))
629628 self .assertIsInstance (transport ._buffer [1 ][0 ], bytes )
630629
630+ def test_sendto_buffer_nodata (self ):
631+ data2 = b''
632+ transport = self .datagram_transport ()
633+ transport ._buffer .append ((b'data1' , ('0.0.0.0' , 12345 )))
634+ transport ._write_fut = object ()
635+ transport .sendto (data2 , ('0.0.0.0' , 12345 ))
636+ self .assertFalse (self .proactor .sendto .called )
637+ self .assertEqual (
638+ [(b'data1' , ('0.0.0.0' , 12345 )),
639+ (b'' , ('0.0.0.0' , 12345 ))],
640+ list (transport ._buffer ))
641+ self .assertIsInstance (transport ._buffer [1 ][0 ], bytes )
642+
631643 @mock .patch ('asyncio.proactor_events.logger' )
632644 def test_sendto_exception (self , m_log ):
633645 data = b'data'
0 commit comments