Ticket #4929: bug_4929.patch

File bug_4929.patch, 3.3 KB (added by Upasana, 3 years ago)
  • twisted/words/test/test_irc.py

     
    20012001        return transport.value().split('\r\n')[-2]
    20022002
    20032003
     2004    def test_channel_list(self):
     2005        """
     2006        L{IRCClient.channel_list} sends LIST command to the server
     2007        """
     2008        self.protocol.channel_list() #for getting list of all the channels from the server
     2009        self.protocol.channel_list("#foo") # specifying channel name
     2010        self.protocol.channel_list("#foo", "server") #specifying channel name and target both
     2011
     2012        expected = ["LIST",
     2013                    "LIST #foo",
     2014                    "LIST #foo server",
     2015                    '']
     2016
     2017        self.assertEqual(self.transport.value().split('\r\n'),
     2018                                                       expected)
     2019
     2020
    20042021    def test_away(self):
    20052022        """
    20062023        L{IRCClient.away} sends an AWAY command with the specified message.
  • twisted/words/protocols/irc.py

     
    18151815        return nickname + '_'
    18161816
    18171817
     1818    def channel_list(self, channel=None, target=None):
     1819        """
     1820        The list command is used to list channels and their topics. 
     1821        @type channel: C{str}
     1822        @param channel: If the channel parameter is used, only the status of that channel is displayed.
     1823
     1824        @type target: C{str}
     1825        @param target: If the target parameter is specified, the request is forwarded to that server which will generate the reply.
     1826       
     1827        """
     1828        if channel and target:
     1829            self.sendLine("LIST %s %s" % (channel, target) )
     1830        elif channel:
     1831            self.sendLine("LIST %s" % (channel))
     1832        else:
     1833            # print "Sending list"
     1834            self.sendLine("LIST")
     1835
     1836
     1837    def irc_RPL_LIST(self, prefix, params):
     1838        """
     1839        Called when we get LIST of channels from the server, output of LIST Command
     1840        """
     1841        # print "In irc_RPL_LIST"
     1842        # print "prefix : %s" % (prefix)
     1843        # print "params : %s" % (params)
     1844        #deleting nick from params,so that params will contain channel name,number of users on the channel and topic of the channel
     1845        del params[0]
     1846        self.gotChannelList(params )
     1847
     1848
     1849    def irc_RPL_LISTEND(self, prefix, params):
     1850        """
     1851        Called when output of /LIST ends
     1852        """
     1853        # print "prefix : %s" % ( prefix )
     1854        # print "params : %s" % ( params )
     1855        del params[0]
     1856        self.channelListEnd(params)
     1857
     1858
     1859    def gotChannelList(self, params):
     1860        """
     1861        @type params: C{[str, str, str]}
     1862        @return a list like this: [channel, number of users, topic of the channel]
     1863        """
     1864        return params
     1865
     1866
     1867    def channelListEnd(self, param):
     1868        """
     1869        Returns End of /LIST
     1870        @type param: C[{str}]
     1871        @return : C{str}
     1872        """
     1873        return params[0]
     1874
     1875
    18181876    def irc_ERR_ERRONEUSNICKNAME(self, prefix, params):
    18191877        """
    18201878        Called when we try to register or change to an illegal nickname.