diff options
author | Lance Stout <lstout@kestrel.cs.clemson.edu> | 2010-08-24 08:55:37 -0400 |
---|---|---|
committer | Lance Stout <lstout@kestrel.cs.clemson.edu> | 2010-08-24 08:55:37 -0400 |
commit | 203986dd7c485aa012fd5d84e58165374031ce87 (patch) | |
tree | 8e149e61cefd11b76c9c5e2eeddfb998b1db76b6 /tests/test_elementbase.py | |
parent | f4ecf0bac4089771a20ea6117f0a505c0b0b6e37 (diff) | |
download | slixmpp-203986dd7c485aa012fd5d84e58165374031ce87.tar.gz slixmpp-203986dd7c485aa012fd5d84e58165374031ce87.tar.bz2 slixmpp-203986dd7c485aa012fd5d84e58165374031ce87.tar.xz slixmpp-203986dd7c485aa012fd5d84e58165374031ce87.zip |
Updated ElementBase._getSubText and added unit tests.
Also added ElementBase._fix_ns() to apply the stanza namespace to elements that don't have a namespace.
Diffstat (limited to 'tests/test_elementbase.py')
-rw-r--r-- | tests/test_elementbase.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_elementbase.py b/tests/test_elementbase.py index 78277af4..78cf47d6 100644 --- a/tests/test_elementbase.py +++ b/tests/test_elementbase.py @@ -267,5 +267,39 @@ class TestElementBase(SleekTest): self.failUnless(stanza._getAttr('bar', 'c') == 'c', "Incorrect default value returned for an unset XML attribute.") + + def testGetSubText(self): + """Test retrieving the contents of a sub element.""" + + class TestStanza(ElementBase): + name = "foo" + namespace = "foo" + interfaces = set(('bar',)) + + def setBar(self, value): + wrapper = ET.Element("{foo}wrapper") + bar = ET.Element("{foo}bar") + bar.text = value + wrapper.append(bar) + self.xml.append(wrapper) + + def getBar(self): + return self._getSubText("wrapper/bar", default="not found") + + stanza = TestStanza() + self.failUnless(stanza['bar'] == 'not found', + "Default _getSubText value incorrect.") + + stanza['bar'] = 'found' + self.checkStanza(TestStanza, stanza, """ + <foo xmlns="foo"> + <wrapper> + <bar>found</bar> + </wrapper> + </foo> + """) + self.failUnless(stanza['bar'] == 'found', + "_getSubText value incorrect: %s." % stanza['bar']) + suite = unittest.TestLoader().loadTestsFromTestCase(TestElementBase) |