'L{ServerSupportedFeatures.parse} changes the internal state of the
instance to reflect the features indicated by the parsed ISUPPORT
parameters, including unknown parameters and unsetting previously set
parameters.'

def test_parse(self):

    supported = irc.ServerSupportedFeatures()
    supported.parse(['MODES=4', 'CHANLIMIT=#:20,&:10', 'INVEX', 'EXCEPTS=Z', 'UNKNOWN=A,B,C'])
    self.assertEqual(supported.getFeature('MODES'), 4)
    self.assertEqual(supported.getFeature('CHANLIMIT'), [('#', 20), ('&', 10)])
    self.assertEqual(supported.getFeature('INVEX'), 'I')
    self.assertEqual(supported.getFeature('EXCEPTS'), 'Z')
    self.assertEqual(supported.getFeature('UNKNOWN'), ('A', 'B', 'C'))
    self.assertTrue(supported.hasFeature('INVEX'))
    supported.parse(['-INVEX'])
    self.assertFalse(supported.hasFeature('INVEX'))
    supported.parse(['-INVEX'])
