def testConstructor (self): ln = 'local' ns_uri = 'urn:ns' en = ExpandedName(ln) self.assertEqual(en.namespace(), None) self.assertEqual(en.localName(), ln) en2 = ExpandedName(en) self.assertEqual(en2, en) dom = pyxb.utils.domutils.StringToDOM('<ns1:%s xmlns:ns1="%s" attr="52">content</ns1:%s>' % (ln, ns_uri, ln)) en = ExpandedName(dom.documentElement) ns = pyxb.namespace.NamespaceForURI(ns_uri) self.assertTrue(ns is not None) self.assertEqual(ns, en.namespace()) self.assertEqual(ln, en.localName()) en2 = ExpandedName(ns, ln) self.assertEqual(en, en2) attr = dom.documentElement.getAttributeNodeNS(None, 'attr') self.assertTrue(attr is not None) en = ExpandedName(attr) self.assertEqual(xml.dom.EMPTY_NAMESPACE, en.namespaceURI()) self.assertEqual('attr', en.localName()) child = dom.documentElement.firstChild self.assertTrue(child is not None) self.assertEqual(xml.dom.Node.TEXT_NODE, child.nodeType) self.assertRaises(pyxb.LogicError, ExpandedName, child)
def testEquivalence (self): an1 = ExpandedName(None, 'string') en1 = ExpandedName(xsd, 'string') en2 = ExpandedName(xsd, 'string') en3 = ExpandedName(xsd, 'notString') self.assertEqual(en1, en2) self.assertEqual(en1, ( en1.namespace(), en1.localName() )) self.assertTrue(en1 == en2) self.assertFalse(en1 == en3) self.assertTrue(en1 != en3) self.assertTrue(an1 == an1.localName()) self.assertFalse(an1 == en3.localName()) self.assertTrue(an1 != en3.localName()) self.assertFalse(an1 != an1.localName())