示例#1
0
文件: test.py 项目: pchampin/advene
    def setUp(self):
        self.reader = PyExpat.Reader()
        self.doc = self.reader.fromString(self.xml)
        self.element = self.doc.documentElement
        self.modeled = Modeled(self.element)

        self.doc_w_ns = self.reader.fromString(self.xml_w_ns)
        self.element_w_ns = self.doc_w_ns.documentElement
        self.modeled_w_ns = Modeled(self.element_w_ns)
示例#2
0
文件: test.py 项目: eamexicano/advene
    def setUp(self):
        self.reader = PyExpat.Reader()
        self.doc = self.reader.fromString(self.xml)
        self.element = self.doc.documentElement
        self.modeled = Modeled(self.element)

        self.doc_w_ns = self.reader.fromString(self.xml_w_ns)
        self.element_w_ns = self.doc_w_ns.documentElement
        self.modeled_w_ns = Modeled(self.element_w_ns)
示例#3
0
文件: test.py 项目: pchampin/advene
class ModeledTestCase(unittest.TestCase):

    xml = u"""<?xml version="1.0" encoding="utf-8"?>
<test>
  <a/>
  <b/>
  <c id="1"/>
  <c id="2"/>
  <c id="3"/>
  <d/>
  This text will be ignored
  <e/>
  <f/>
</test>
    """

    fooNS = "http://foo.com/"

    xml_w_ns = u"""<?xml version="1.0" encoding="utf-8"?>
<test xmlns="%s">
  <a/>
  <b/>
  <c/>
</test>
    """ % fooNS

    def setUp(self):
        self.reader = PyExpat.Reader()
        self.doc = self.reader.fromString(self.xml)
        self.element = self.doc.documentElement
        self.modeled = Modeled(self.element)

        self.doc_w_ns = self.reader.fromString(self.xml_w_ns)
        self.element_w_ns = self.doc_w_ns.documentElement
        self.modeled_w_ns = Modeled(self.element_w_ns)

    def tearDown(self):
        self.reader.releaseNode(self.doc)
        self.reader.releaseNode(self.doc_w_ns)

    def test_getModelChildren__length(self):
        self.assertEqual(len(self.modeled._getModelChildren()), 8)

    def test_getChild__no_arg(self):
        e = self.modeled._getChild()
        self.assert_(e)
        self.assertEqual(e.localName, "a")

    def test_getChild__match_alone__qname(self):
        e = self.modeled._getChild((None, "d"))
        self.assert_(e)
        self.assertEqual(e.localName, "d")
        e = self.modeled._getChild((None, "g"))
        self.assertEqual(e, None)

    def test_getChild__match_alone__element(self):
        elt = self.modeled._getChild((None, "d"))
        e = self.modeled._getChild(elt)
        self.assert_(e)
        self.assert_(e == elt)
        e = self.modeled._getChild(self.element)
        self.assertEqual(e, None)

    def test_getChild__before_alone__qname(self):
        e = self.modeled._getChild(before=(None, "b"))
        self.assert_(e)
        self.assertEqual(e.localName, "a")
        e = self.modeled._getChild(before=(None, "a"))
        self.assertEqual(e, None)

    def test_getChild__before_alone__element(self):
        elt = self.modeled._getChild((None, "b"))
        e = self.modeled._getChild(before=elt)
        self.assert_(e)
        self.assertEqual(e.localName, "a")
        elt = e
        e = self.modeled._getChild(before=elt)
        self.assertEqual(e, None)

    def test_getChild__after_alone__qname(self):
        e = self.modeled._getChild(after=(None, "e"))
        self.assert_(e)
        self.assertEqual(e.localName, "f")
        e = self.modeled._getChild(after=(None, "f"))
        self.assertEqual(e, None)

    def test_getChild__after_alone__element(self):
        elt = self.modeled._getChild((None, "e"))
        e = self.modeled._getChild(after=elt)
        self.assert_(e)
        self.assertEqual(e.localName, "f")
        elt = e
        e = self.modeled._getChild(after=elt)
        self.assertEqual(e, None)

    def test_getChild__before_and_match(self):
        e = self.modeled._getChild((None, "e"), before=(None, "f"))
        self.assert_(e)
        self.assertEqual(e.localName, "e")
        e = self.modeled._getChild((None, "d"), before=(None, "f"))
        self.assertEqual(e, None)

    def test_getChild__before_and_after(self):
        e = self.modeled._getChild(after=(None, "d"), before=(None, "f"))
        self.assert_(e)
        self.assertEqual(e.localName, "e")
        e = self.modeled._getChild(after=(None, "e"), before=(None, "f"))
        self.assertEqual(e, None)

    def test_getChild__match_and_after(self):
        e = self.modeled._getChild(after=(None, "d"), match=(None, "e"))
        self.assert_(e)
        self.assertEqual(e.localName, "e")
        e = self.modeled._getChild(after=(None, "d"), match=(None, "f"))
        self.assertEqual(e, None)

    def test_getChild__before_match_and_after(self):
        e = self.modeled._getChild(after=(None, "d"),
                                   match=(None, "e"),
                                   before=(None, "f"))
        self.assert_(e)
        self.assertEqual(e.localName, "e")
        e = self.modeled._getChild(after=(None, "a"),
                                   match=(None, "e"),
                                   before=(None, "f"))
        self.assertEqual(e, None)

        e = self.modeled._getChild(after=(None, "c"),
                                   match=(None, "d"),
                                   before=(None, "f"))
        self.assertEqual(e, None)

    def test_getChild__multiple_match(self):
        e = self.modeled._getChild(after=(None, "c"),
                                   match=(None, "c"),
                                   before=(None, "c"))
        self.assert_(e)
        self.assertEqual(e.localName, "c")
        self.assertEqual(e.getAttribute("id"), "2")
        e = self.modeled._getChild((None, "c"))
        self.assert_(e)
        self.assertEqual(e.localName, "c")
        self.assertEqual(e.getAttribute("id"), "1")
        elt = e
        e = self.modeled._getChild(after=elt)
        self.assert_(e)
        self.assertEqual(e.localName, "c")
        self.assertEqual(e.getAttribute("id"), "2")
        elt = e
        e = self.modeled._getChild(after=elt)
        self.assert_(e)
        self.assertEqual(e.localName, "c")
        self.assertEqual(e.getAttribute("id"), "3")

    def test_getChild__match_alone__qname_ns(self):
        e = self.modeled_w_ns._getChild((self.fooNS, "b"))
        self.assert_(e)
        self.assertEqual(e.localName, "b")
        e = self.modeled_w_ns._getChild((self.fooNS, "d"))
        self.assertEqual(e, None)
        e = self.modeled_w_ns._getChild((self.fooNS + "bar/", "b"))
        self.assertEqual(e, None)
示例#4
0
文件: test.py 项目: eamexicano/advene
class ModeledTestCase(unittest.TestCase):

    xml = u"""<?xml version="1.0" encoding="utf-8"?>
<test>
  <a/>
  <b/>
  <c id="1"/>
  <c id="2"/>
  <c id="3"/>
  <d/>
  This text will be ignored
  <e/>
  <f/>
</test>
    """

    fooNS = "http://foo.com/"

    xml_w_ns = u"""<?xml version="1.0" encoding="utf-8"?>
<test xmlns="%s">
  <a/>
  <b/>
  <c/>
</test>
    """ % fooNS

    def setUp(self):
        self.reader = PyExpat.Reader()
        self.doc = self.reader.fromString(self.xml)
        self.element = self.doc.documentElement
        self.modeled = Modeled(self.element)

        self.doc_w_ns = self.reader.fromString(self.xml_w_ns)
        self.element_w_ns = self.doc_w_ns.documentElement
        self.modeled_w_ns = Modeled(self.element_w_ns)

    def tearDown(self):
        self.reader.releaseNode(self.doc)
        self.reader.releaseNode(self.doc_w_ns)

    def test_getModelChildren__length(self):
        self.assertEqual(
            len(self.modeled._getModelChildren()),
            8
        )

    def test_getChild__no_arg(self):
        e = self.modeled._getChild()
        self.assert_(e)
        self.assertEqual(e.localName,"a")

    def test_getChild__match_alone__qname(self):
        e = self.modeled._getChild((None,"d"))
        self.assert_(e)
        self.assertEqual(e.localName,"d")
        e = self.modeled._getChild((None,"g"))
        self.assertEqual(e, None)

    def test_getChild__match_alone__element(self):
        elt = self.modeled._getChild((None,"d"))
        e = self.modeled._getChild(elt)
        self.assert_(e)
        self.assert_(e==elt)
        e = self.modeled._getChild(self.element)
        self.assertEqual(e, None)

    def test_getChild__before_alone__qname(self):
        e = self.modeled._getChild(before=(None,"b"))
        self.assert_(e)
        self.assertEqual(e.localName,"a")
        e = self.modeled._getChild(before=(None,"a"))
        self.assertEqual(e, None)

    def test_getChild__before_alone__element(self):
        elt = self.modeled._getChild((None,"b"))
        e = self.modeled._getChild(before=elt)
        self.assert_(e)
        self.assertEqual(e.localName,"a")
        elt = e
        e = self.modeled._getChild(before=elt)
        self.assertEqual(e, None)

    def test_getChild__after_alone__qname(self):
        e = self.modeled._getChild(after=(None,"e"))
        self.assert_(e)
        self.assertEqual(e.localName,"f")
        e = self.modeled._getChild(after=(None,"f"))
        self.assertEqual(e, None)

    def test_getChild__after_alone__element(self):
        elt = self.modeled._getChild((None,"e"))
        e = self.modeled._getChild(after=elt)
        self.assert_(e)
        self.assertEqual(e.localName,"f")
        elt = e
        e = self.modeled._getChild(after=elt)
        self.assertEqual(e, None)

    def test_getChild__before_and_match(self):
        e = self.modeled._getChild((None, "e"), before=(None,"f"))
        self.assert_(e)
        self.assertEqual(e.localName, "e")
        e = self.modeled._getChild((None, "d"), before=(None,"f"))
        self.assertEqual(e,None)

    def test_getChild__before_and_after(self):
        e = self.modeled._getChild(after=(None,"d"),before=(None,"f"))
        self.assert_(e)
        self.assertEqual(e.localName,"e")
        e = self.modeled._getChild(after=(None,"e"),before=(None,"f"))
        self.assertEqual(e,None)

    def test_getChild__match_and_after(self):
        e = self.modeled._getChild(after=(None,"d"),match=(None,"e"))
        self.assert_(e)
        self.assertEqual(e.localName,"e")
        e = self.modeled._getChild(after=(None,"d"),match=(None,"f"))
        self.assertEqual(e,None)

    def test_getChild__before_match_and_after(self):
        e = self.modeled._getChild(after=(None,"d"),
                                   match=(None,"e"),
                                   before=(None,"f"))
        self.assert_(e)
        self.assertEqual(e.localName,"e")
        e = self.modeled._getChild(after=(None,"a"),
                                   match=(None,"e"),
                                   before=(None,"f"))
        self.assertEqual(e,None)

        e = self.modeled._getChild(after=(None,"c"),
                                   match=(None,"d"),
                                   before=(None,"f"))
        self.assertEqual(e,None)

    def test_getChild__multiple_match(self):
        e = self.modeled._getChild(after=(None,"c"),
                                   match=(None,"c"),
                                   before=(None,"c"))
        self.assert_(e)
        self.assertEqual(e.localName,"c")
        self.assertEqual(e.getAttribute("id"),"2")
        e = self.modeled._getChild((None,"c"))
        self.assert_(e)
        self.assertEqual(e.localName,"c")
        self.assertEqual(e.getAttribute("id"),"1")
        elt = e
        e = self.modeled._getChild(after=elt)
        self.assert_(e)
        self.assertEqual(e.localName,"c")
        self.assertEqual(e.getAttribute("id"),"2")
        elt = e
        e = self.modeled._getChild(after=elt)
        self.assert_(e)
        self.assertEqual(e.localName,"c")
        self.assertEqual(e.getAttribute("id"),"3")

    def test_getChild__match_alone__qname_ns(self):
        e = self.modeled_w_ns._getChild((self.fooNS,"b"))
        self.assert_(e)
        self.assertEqual(e.localName,"b")
        e = self.modeled_w_ns._getChild((self.fooNS,"d"))
        self.assertEqual(e,None)
        e = self.modeled_w_ns._getChild((self.fooNS+"bar/","b"))
        self.assertEqual(e,None)