Changeset 171:4f5ee7b81ebf for wokkel/test/test_generic.py
- Timestamp:
- May 9, 2012, 2:24:28 PM (10 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/test/test_generic.py
r165 r171 91 91 92 92 93 class StanzaTest(unittest.TestCase): 94 """ 95 Tests for L{generic.Stanza}. 96 """ 97 98 def test_fromElement(self): 99 xml = """ 100 <message type='chat' from='other@example.org' to='user@example.org'/> 101 """ 102 103 stanza = generic.Stanza.fromElement(generic.parseXml(xml)) 104 self.assertEqual('chat', stanza.stanzaType) 105 self.assertEqual(JID('other@example.org'), stanza.sender) 106 self.assertEqual(JID('user@example.org'), stanza.recipient) 107 108 109 def test_fromElementChildParser(self): 110 """ 111 Child elements for which no parser is defined are ignored. 112 """ 113 xml = """ 114 <message from='other@example.org' to='user@example.org'> 115 <x xmlns='http://example.org/'/> 116 </message> 117 """ 118 119 class Message(generic.Stanza): 120 childParsers = {('http://example.org/', 'x'): '_childParser_x'} 121 elements = [] 122 123 def _childParser_x(self, element): 124 self.elements.append(element) 125 126 message = Message.fromElement(generic.parseXml(xml)) 127 self.assertEqual(1, len(message.elements)) 128 129 130 def test_fromElementChildParserAll(self): 131 """ 132 Child elements for which no parser is defined are ignored. 133 """ 134 xml = """ 135 <message from='other@example.org' to='user@example.org'> 136 <x xmlns='http://example.org/'/> 137 </message> 138 """ 139 140 class Message(generic.Stanza): 141 childParsers = {None: '_childParser'} 142 elements = [] 143 144 def _childParser(self, element): 145 self.elements.append(element) 146 147 message = Message.fromElement(generic.parseXml(xml)) 148 self.assertEqual(1, len(message.elements)) 149 150 151 def test_fromElementChildParserUnknown(self): 152 """ 153 Child elements for which no parser is defined are ignored. 154 """ 155 xml = """ 156 <message from='other@example.org' to='user@example.org'> 157 <x xmlns='http://example.org/'/> 158 </message> 159 """ 160 generic.Stanza.fromElement(generic.parseXml(xml)) 161 162 163 164 93 165 class RequestTest(unittest.TestCase): 94 166 """ … … 100 172 101 173 174 def test_requestParser(self): 175 """ 176 The request's child element is passed to requestParser. 177 """ 178 xml = """ 179 <iq type='get'> 180 <query xmlns='jabber:iq:version'/> 181 </iq> 182 """ 183 184 class VersionRequest(generic.Request): 185 elements = [] 186 187 def parseRequest(self, element): 188 self.elements.append((element.uri, element.name)) 189 190 request = VersionRequest.fromElement(generic.parseXml(xml)) 191 self.assertEqual([(NS_VERSION, 'query')], request.elements) 192 193 102 194 def test_toElementStanzaKind(self): 103 195 """
Note: See TracChangeset
for help on using the changeset viewer.