[TASK] Tests for topic, TODO: refactor irc.Mode.
This commit is contained in:
		
							parent
							
								
									ee804eeeb7
								
							
						
					
					
						commit
						35f358cccf
					
				| @ -239,13 +239,14 @@ class Part(Message, metaclass=register_derivative): | ||||
|         self.message = self.get("trailing") | ||||
| 
 | ||||
| class Mode(Message, metaclass=register_derivative): | ||||
|     def __init__(self, *args, **kwargs): | ||||
|     def __init__(self, subject="", modes=None, *args, **kwargs): | ||||
|         super().__init__(*args, **kwargs) | ||||
|         if "data" not in kwargs: | ||||
|             self.update({ | ||||
|                 "command": "MODE", | ||||
|             }) | ||||
|     def parse(self): | ||||
|         #TODO: Implement this in a proper way! | ||||
|         self.usermode = False | ||||
|         self.source = self.get("nick") | ||||
|         self.subject = self.get("params")[0] | ||||
|  | ||||
| @ -116,3 +116,44 @@ class Message(unittest.TestCase): | ||||
|         msg = irc.Part(channel="#tower", message="don't fall off") | ||||
|         self.assertEqual(str(msg), "PART #tower :don't fall off") | ||||
| 
 | ||||
| 
 | ||||
|     def test_parse_mode_usermode(self): | ||||
|         #TODO | ||||
|         raw = ":Me!~myself@localhost MODE Me :+ix" | ||||
|         msg = irc.Message.from_string(raw) | ||||
|         self.assertIsInstance(msg, irc.Mode, msg="Not a Mode!") | ||||
|         self.assertEqual(msg.usermode, True) | ||||
|         self.assertEqual(msg.flags, [('i', True), ('x', True)]) | ||||
|         self.assertEqual(msg.source, "Me") | ||||
|         self.assertEqual(msg.subject, "Me") | ||||
| 
 | ||||
|     def test_parse_mode_channelmode(self): | ||||
|         #TODO | ||||
|         raw = ":Mod!~moderator@ordering.chat MODE #botted +vo admin admin" | ||||
|         msg = irc.Message.from_string(raw) | ||||
|         self.assertIsInstance(msg, irc.Mode, msg="Not a Mode!") | ||||
|         self.assertEqual(msg.usermode, False) | ||||
|         self.assertEqual(msg.flags, [('v', True, 'admin'), ('o', True, 'admin')]) | ||||
|         self.assertEqual(msg.source, "Mod") | ||||
|         self.assertEqual(msg.subject, "#botted") | ||||
| 
 | ||||
|     def test_construct_mode_usermode(self): | ||||
|         #TODO | ||||
|         pass | ||||
| 
 | ||||
|     def test_construct_mode_channelmode(self): | ||||
|         #TODO | ||||
|         pass | ||||
| 
 | ||||
| 
 | ||||
|     def test_parse_topic(self): | ||||
|         raw = ":chanop!~important@guy.org TOPIC #couch :New Topic!" | ||||
|         msg = irc.Message.from_string(raw) | ||||
|         self.assertIsInstance(msg, irc.Topic, msg="Not a Topic!") | ||||
|         self.assertEqual(msg.source, "chanop") | ||||
|         self.assertEqual(msg.channel, "#couch") | ||||
|         self.assertEqual(msg.topic, "New Topic!") | ||||
| 
 | ||||
|     def test_construct_topic(self): | ||||
|         msg = irc.Topic(channel="#politics", topic="Yes, we can!") | ||||
|         self.assertEqual(str(msg), "TOPIC #politics :Yes, we can!") | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user