Esempio n. 1
0
 def testNormalize(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createTextNode('three')
     four = doc.createTextNode('four')
     node.extend([one,two,three,four])
     node.normalize()
     assert len(node) == 2, '"%s" != "%s"' % (len(node), 2)
     assert node[1] == 'twothreefour', '"%s" != "%s"' % (node[1], 'twothreefour')
Esempio n. 2
0
 def testNormalize(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createTextNode('three')
     four = doc.createTextNode('four')
     node.extend([one, two, three, four])
     node.normalize()
     assert len(node) == 2, '"%s" != "%s"' % (len(node), 2)
     assert node[1] == 'twothreefour', '"%s" != "%s"' % (node[1],
                                                         'twothreefour')
Esempio n. 3
0
    def testTextContent(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createTextNode('one')
        two = doc.createElement('two')
        three = doc.createTextNode('three')
        four = doc.createTextNode('four')
        node.append(one)
        node.append(two)
        two.extend([three, four])

        res = node.textContent
        expected = 'onethreefour'
        assert res == expected, '"%s" != "%s"' % (res, expected)
Esempio n. 4
0
    def testTextContent(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createTextNode('one')
        two = doc.createElement('two')
        three = doc.createTextNode('three')
        four = doc.createTextNode('four')
        node.append(one)
        node.append(two)
        two.extend([three, four])

        res = node.textContent
        expected = 'onethreefour'
        assert res == expected, '"%s" != "%s"' % (res, expected)
Esempio n. 5
0
    def testCompareDocumentPosition(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        node.append(one)
        node.append(two)
        node.append(three)
        three.append(four)
        five = doc.createElement('five')

        expected = Node.DOCUMENT_POSITION_FOLLOWING
        rc = one.compareDocumentPosition(four)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_PRECEDING
        rc = four.compareDocumentPosition(one)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_CONTAINED_BY
        rc = node.compareDocumentPosition(four)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_CONTAINS
        rc = four.compareDocumentPosition(node)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_DISCONNECTED
        rc = five.compareDocumentPosition(node)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)
Esempio n. 6
0
    def testSetItem(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        five = doc.createElement('five')
        node.appendChild(one)
        node.appendChild(two)
        node.appendChild(three)

        node[1] = four
        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is four, '"%s" != "%s"' % (node[1], four)
        assert node[2] is three, '"%s" != "%s"' % (node[2], three)
        assert len(node) == 3, '%s != %s' % (len(node), 3)
        self._checkPositions(node)

        node[2] = five
        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is four, '"%s" != "%s"' % (node[1], four)
        assert node[2] is five, '"%s" != "%s"' % (node[2], five)
        assert len(node) == 3, '%s != %s' % (len(node), 3)
        self._checkPositions(node)
Esempio n. 7
0
    def testCompareDocumentPosition(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        node.append(one)
        node.append(two)
        node.append(three)
        three.append(four)
        five = doc.createElement('five')

        expected = Node.DOCUMENT_POSITION_FOLLOWING
        rc = one.compareDocumentPosition(four)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_PRECEDING
        rc = four.compareDocumentPosition(one)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_CONTAINED_BY
        rc = node.compareDocumentPosition(four)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_CONTAINS
        rc = four.compareDocumentPosition(node)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)

        expected = Node.DOCUMENT_POSITION_DISCONNECTED
        rc = five.compareDocumentPosition(node)
        assert rc == expected, '"%s" != "%s"' % (rc, expected)
Esempio n. 8
0
    def testSetItem(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        five = doc.createElement('five')
        node.appendChild(one)
        node.appendChild(two)
        node.appendChild(three)

        node[1] = four
        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is four, '"%s" != "%s"' % (node[1], four)
        assert node[2] is three, '"%s" != "%s"' % (node[2], three)
        assert len(node) == 3, '%s != %s' % (len(node), 3)
        self._checkPositions(node)

        node[2] = five
        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is four, '"%s" != "%s"' % (node[1], four)
        assert node[2] is five, '"%s" != "%s"' % (node[2], five)
        assert len(node) == 3, '%s != %s' % (len(node), 3)
        self._checkPositions(node)
Esempio n. 9
0
 def testPreviousSibling(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.append(three)
     assert None is one.previousSibling, 'None != "%s"' % one.previousSibling
     assert one is two.previousSibling, '"%s" != "%s"' % (one, two.previousSibling)
     assert two is three.previousSibling, '"%s" != "%s"' % (two, three.previousSibling)
Esempio n. 10
0
    def testHasChildNodes(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')

        assert not node.hasChildNodes()

        node.appendChild(one)
        node.appendChild(two)

        assert node.hasChildNodes()
Esempio n. 11
0
    def testHasChildNodes(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')

        assert not node.hasChildNodes()

        node.appendChild(one)
        node.appendChild(two)

        assert node.hasChildNodes()
Esempio n. 12
0
 def testNextSibling(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.append(three)
     assert two is one.nextSibling, '"%s" != "%s"' % (two, one.nextSibling)
     assert three is two.nextSibling, '"%s" != "%s"' % (three, two.nextSibling)
     assert None is three.nextSibling, 'None != "%s"' % three.nextSibling
Esempio n. 13
0
 def testNextSibling(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.append(three)
     assert two is one.nextSibling, '"%s" != "%s"' % (two, one.nextSibling)
     assert three is two.nextSibling, '"%s" != "%s"' % (three,
                                                        two.nextSibling)
     assert None is three.nextSibling, 'None != "%s"' % three.nextSibling
Esempio n. 14
0
 def testReplaceChild(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.replaceChild(three, two)
     assert node[0] is one, '"%s" != "%s"' % (node[0], one)
     assert node[1] is three, '"%s" != "%s"' % (node[1], three)
     assert len(node) == 2, '%s != %s' % (len(node), 2)
     self._checkPositions(node)
Esempio n. 15
0
 def testReplaceChild(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.replaceChild(three, two)
     assert node[0] is one, '"%s" != "%s"' % (node[0], one)
     assert node[1] is three, '"%s" != "%s"' % (node[1], three)
     assert len(node) == 2, '%s != %s' % (len(node), 2)
     self._checkPositions(node)
Esempio n. 16
0
    def testCloneNode(self):
        doc = Document()
        one = doc.createElement('one')
        two = doc.createElement('two')
        three = doc.createTextNode('three')
        two.append(three)
        one.append(two)

        res = one.cloneNode(1)
        assert type(res) is type(one), '"%s" != "%s"' % (type(res), type(one))
        assert type(res[0]) is type(one[0])
        assert_that( res, is_(one))
        assert_that( res, is_not(same_instance(one)))
        assert_that( res[0], is_not( same_instance(one[0]) ))
Esempio n. 17
0
    def testCloneNode(self):
        doc = Document()
        one = doc.createElement('one')
        two = doc.createElement('two')
        three = doc.createTextNode('three')
        two.append(three)
        one.append(two)

        res = one.cloneNode(1)
        assert type(res) is type(one), '"%s" != "%s"' % (type(res), type(one))
        assert type(res[0]) is type(one[0])
        assert_that(res, is_(one))
        assert_that(res, is_not(same_instance(one)))
        assert_that(res[0], is_not(same_instance(one[0])))
Esempio n. 18
0
 def testPreviousSibling(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.append(three)
     assert None is one.previousSibling, 'None != "%s"' % one.previousSibling
     assert one is two.previousSibling, '"%s" != "%s"' % (
         one, two.previousSibling)
     assert two is three.previousSibling, '"%s" != "%s"' % (
         two, three.previousSibling)
Esempio n. 19
0
 def testInsertBefore(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.insertBefore(three, two)
     assert node[1] is three, '"%s" != "%s"' % (node[1], three)
     node.insertBefore(three, one)
     assert node[0] is three, '"%s" != "%s"' % (node[0], three)
     assert node[1] is one, '"%s" != "%s"' % (node[1], one)
     assert node[2] is two, '"%s" != "%s"' % (node[2], two)
     self._checkPositions(node)
Esempio n. 20
0
 def testInsertBefore(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.insertBefore(three, two)
     assert node[1] is three, '"%s" != "%s"' % (node[1], three)
     node.insertBefore(three, one)
     assert node[0] is three, '"%s" != "%s"' % (node[0], three)
     assert node[1] is one, '"%s" != "%s"' % (node[1], one)
     assert node[2] is two, '"%s" != "%s"' % (node[2], two)
     self._checkPositions(node)
Esempio n. 21
0
 def testInsert2(self):
     """ Insert into populated node """
     doc = Document()
     one = doc.createElement('one')
     two = doc.createElement('two')
     three = doc.createElement('three')
     node = doc.createElement('top')
     node.extend([one, two, three])
     i0 = doc.createElement('i0')
     i3 = doc.createTextNode('i3')
     node.insert(0, i0)
     node.insert(3, i3)
     expected = [i0, one, two, i3, three]
     for i, item in enumerate(node):
         assert item is expected[i], '"%s" != "%s"' % (item, expected[i])
     self._checkPositions(node)
Esempio n. 22
0
 def testInsert2(self):
     """ Insert into populated node """
     doc = Document()
     one = doc.createElement('one')
     two = doc.createElement('two')
     three = doc.createElement('three')
     node = doc.createElement('top')
     node.extend([one,two,three])
     i0 = doc.createElement('i0')
     i3 = doc.createTextNode('i3')
     node.insert(0, i0)
     node.insert(3, i3)
     expected = [i0,one,two,i3,three]
     for i, item in enumerate(node):
         assert item is expected[i], '"%s" != "%s"' % (item, expected[i])
     self._checkPositions(node)
Esempio n. 23
0
    def testAppendChild(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        node.appendChild(one)
        frag = doc.createDocumentFragment()
        frag.appendChild(two)
        frag.appendChild(three)
        node.appendChild(frag)

        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is two, '"%s" != "%s"' % (node[1], two)
        assert node[2] is three, '"%s" != "%s"' % (node[2], three)
        self._checkPositions(node)
Esempio n. 24
0
    def testAppendChild(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        node.appendChild(one)
        frag = doc.createDocumentFragment()
        frag.appendChild(two)
        frag.appendChild(three)
        node.appendChild(frag)

        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is two, '"%s" != "%s"' % (node[1], two)
        assert node[2] is three, '"%s" != "%s"' % (node[2], three)
        self._checkPositions(node)
Esempio n. 25
0
    def testPop(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        node.extend([one, two, three])

        res = node.pop()
        assert res is three, '"%s" != "%s"' % (res, three)
        assert len(node) == 2, '%s != %s' % (len(node), 2)
        self._checkPositions(node)

        res = node.pop(0)
        assert res is one, '"%s" != "%s"' % (res, one)
        assert len(node) == 1, '%s != %s' % (len(node), 1)
        self._checkPositions(node)
Esempio n. 26
0
    def testPop(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        node.extend([one, two, three])

        res = node.pop()
        assert res is three, '"%s" != "%s"' % (res, three)
        assert len(node) == 2, '%s != %s' % (len(node), 2)
        self._checkPositions(node)

        res = node.pop(0)
        assert res is one, '"%s" != "%s"' % (res, one)
        assert len(node) == 1, '%s != %s' % (len(node), 1)
        self._checkPositions(node)
Esempio n. 27
0
    def testRemoveChild(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        node.append(one)
        node.append(two)

        res = node.removeChild(one)
        assert res is one, '"%s" != "%s"' % (res, one)
        assert len(node) == 1, '%s != %s' % (len(node), 1)
        assert node[0] is two, '"%s" != "%s"' % (node[0], two)
        self._checkPositions(node)

        res = node.removeChild(two)
        assert res is two, '"%s" != "%s"' % (res, two)
        assert len(node) == 0, '%s != %s' % (len(node), 0)
Esempio n. 28
0
    def testRemoveChild(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        node.append(one)
        node.append(two)

        res = node.removeChild(one)
        assert res is one, '"%s" != "%s"' % (res, one)
        assert len(node) == 1, '%s != %s' % (len(node), 1)
        assert node[0] is two, '"%s" != "%s"' % (node[0], two)
        self._checkPositions(node)

        res = node.removeChild(two)
        assert res is two, '"%s" != "%s"' % (res, two)
        assert len(node) == 0, '%s != %s' % (len(node), 0)
Esempio n. 29
0
 def testOwnerDocument(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.attributes['three'] = three
     a = Text('a')
     b = Text('b')
     node.attributes['four'] = {'a':a, 'b':1}
     node.attributes['five'] = [b, 1, 'c']
     assert node.ownerDocument is doc, '"%s" != "%s"' % (node.ownerDocument, doc)
     assert one.ownerDocument is doc, '"%s" != "%s"' % (one.ownerDocument, doc)
     assert two.ownerDocument is doc, '"%s" != "%s"' % (two.ownerDocument, doc)
     assert three.ownerDocument is doc, '"%s" != "%s"' % (three.ownerDocument, doc)
     assert a.ownerDocument is doc, '"%s" != "%s"' % (a.ownerDocument, doc)
     assert b.ownerDocument is doc, '"%s" != "%s"' % (b.ownerDocument, doc)
     self._checkPositions(node)
Esempio n. 30
0
    def testInsert3(self):
        """ Insert document fragment """
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        node.appendChild(one)
        node.appendChild(two)
        frag = doc.createDocumentFragment()
        frag.appendChild(three)
        frag.appendChild(four)
        node.insert(1, frag)

        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is three, '"%s" != "%s"' % (node[1], three)
        assert node[2] is four, '"%s" != "%s"' % (node[2], four)
        assert node[3] is two, '"%s" != "%s"' % (node[3], two)
        self._checkPositions(node)
Esempio n. 31
0
    def testInsert3(self):
        """ Insert document fragment """
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        node.appendChild(one)
        node.appendChild(two)
        frag = doc.createDocumentFragment()
        frag.appendChild(three)
        frag.appendChild(four)
        node.insert(1,frag)

        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is three, '"%s" != "%s"' % (node[1], three)
        assert node[2] is four, '"%s" != "%s"' % (node[2], four)
        assert node[3] is two, '"%s" != "%s"' % (node[3], two)
        self._checkPositions(node)
Esempio n. 32
0
    def testAdd(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        node.appendChild(one)
        node.appendChild(two)

        node2 = doc.createElement('node2')
        three = doc.createElement('three')
        four = doc.createElement('four')
        node.appendChild(three)
        node.appendChild(four)

        res = node + node2
        assert isinstance(res, Node), '%s is not a Node' % res
        assert res[0] is one, '"%s" != "%s"' % (res[0], one)
        assert res[1] is two, '"%s" != "%s"' % (res[1], two)
        assert res[2] is three, '"%s" != "%s"' % (res[2], three)
        assert res[3] is four, '"%s" != "%s"' % (res[3], four)
        self._checkPositions(res)
Esempio n. 33
0
    def testAdd(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        node.appendChild(one)
        node.appendChild(two)

        node2 = doc.createElement('node2')
        three = doc.createElement('three')
        four = doc.createElement('four')
        node.appendChild(three)
        node.appendChild(four)

        res = node + node2
        assert isinstance(res, Node), '%s is not a Node' % res
        assert res[0] is one, '"%s" != "%s"' % (res[0], one)
        assert res[1] is two, '"%s" != "%s"' % (res[1], two)
        assert res[2] is three, '"%s" != "%s"' % (res[2], three)
        assert res[3] is four, '"%s" != "%s"' % (res[3], four)
        self._checkPositions(res)
Esempio n. 34
0
    def testExtend(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        five = doc.createElement('five')
        node.appendChild(one)

        node.extend([two, three])
        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is two, '"%s" != "%s"' % (node[1], two)
        assert node[2] is three, '"%s" != "%s"' % (node[2], three)
        assert len(node) == 3, '%s != %s' % (len(node), 3)
        self._checkPositions(node)

        node += [four, five]
        assert node[3] is four, '"%s" != "%s"' % (node[3], four)
        assert node[4] is five, '"%s" != "%s"' % (node[4], five)
        assert len(node) == 5, '%s != %s' % (len(node), 5)
        self._checkPositions(node)
Esempio n. 35
0
    def testExtend(self):
        doc = Document()
        node = doc.createElement('node')
        one = doc.createElement('one')
        two = doc.createTextNode('two')
        three = doc.createElement('three')
        four = doc.createElement('four')
        five = doc.createElement('five')
        node.appendChild(one)

        node.extend([two, three])
        assert node[0] is one, '"%s" != "%s"' % (node[0], one)
        assert node[1] is two, '"%s" != "%s"' % (node[1], two)
        assert node[2] is three, '"%s" != "%s"' % (node[2], three)
        assert len(node) == 3, '%s != %s' % (len(node), 3)
        self._checkPositions(node)

        node += [four, five]
        assert node[3] is four, '"%s" != "%s"' % (node[3], four)
        assert node[4] is five, '"%s" != "%s"' % (node[4], five)
        assert len(node) == 5, '%s != %s' % (len(node), 5)
        self._checkPositions(node)
Esempio n. 36
0
 def testOwnerDocument(self):
     doc = Document()
     node = doc.createElement('node')
     one = doc.createElement('one')
     two = doc.createTextNode('two')
     three = doc.createElement('three')
     node.append(one)
     node.append(two)
     node.attributes['three'] = three
     a = Text('a')
     b = Text('b')
     node.attributes['four'] = {'a': a, 'b': 1}
     node.attributes['five'] = [b, 1, 'c']
     assert node.ownerDocument is doc, '"%s" != "%s"' % (node.ownerDocument,
                                                         doc)
     assert one.ownerDocument is doc, '"%s" != "%s"' % (one.ownerDocument,
                                                        doc)
     assert two.ownerDocument is doc, '"%s" != "%s"' % (two.ownerDocument,
                                                        doc)
     assert three.ownerDocument is doc, '"%s" != "%s"' % (
         three.ownerDocument, doc)
     assert a.ownerDocument is doc, '"%s" != "%s"' % (a.ownerDocument, doc)
     assert b.ownerDocument is doc, '"%s" != "%s"' % (b.ownerDocument, doc)
     self._checkPositions(node)