paulb@53 | 1 | #!/usr/bin/env python |
paulb@53 | 2 | |
paulb@53 | 3 | import macrotest |
paulb@53 | 4 | import xml.dom.minidom |
paulb@53 | 5 | import libxml2dom |
paulb@53 | 6 | import xml.dom |
paulb@53 | 7 | import time |
paulb@53 | 8 | import sys |
paulb@53 | 9 | |
paulb@53 | 10 | def find_root(d): |
paulb@53 | 11 | root = None |
paulb@53 | 12 | |
paulb@53 | 13 | for n in d.childNodes: |
paulb@53 | 14 | if n.nodeType == xml.dom.Node.ELEMENT_NODE: |
paulb@53 | 15 | root = n |
paulb@53 | 16 | break |
paulb@53 | 17 | |
paulb@53 | 18 | return root |
paulb@53 | 19 | |
paulb@53 | 20 | def test_import(d): |
paulb@53 | 21 | d2 = xml.dom.minidom.getDOMImplementation().createDocument("nsD", "newdoc", None) |
paulb@53 | 22 | imported = d2.importNode(find_root(d), 1) |
paulb@53 | 23 | d2.replaceChild(imported, find_root(d2)) |
paulb@53 | 24 | return d, d2 |
paulb@53 | 25 | |
paulb@53 | 26 | def test_import2(d): |
paulb@53 | 27 | d2 = libxml2dom.createDocument("nsD", "newdoc", None) |
paulb@53 | 28 | imported = d2.importNode(find_root(d), 1) |
paulb@53 | 29 | d2.replaceChild(imported, find_root(d2)) |
paulb@53 | 30 | return d, d2 |
paulb@53 | 31 | |
paulb@53 | 32 | x2_d = macrotest.parseFile(sys.argv[1]) |
paulb@53 | 33 | |
paulb@53 | 34 | t = time.time() |
paulb@53 | 35 | x2_d1, x2_d2 = macrotest.test_import(x2_d) |
paulb@53 | 36 | print "Time", time.time() - t, "seconds" |
paulb@53 | 37 | |
paulb@53 | 38 | d = xml.dom.minidom.parse(sys.argv[1]) |
paulb@53 | 39 | |
paulb@53 | 40 | t = time.time() |
paulb@53 | 41 | d1, d2 = test_import(d) |
paulb@53 | 42 | print "Time", time.time() - t, "seconds" |
paulb@53 | 43 | |
paulb@53 | 44 | d = libxml2dom.parse(sys.argv[1]) |
paulb@53 | 45 | |
paulb@53 | 46 | t = time.time() |
paulb@53 | 47 | d1, d2 = test_import2(d) |
paulb@53 | 48 | print "Time", time.time() - t, "seconds" |
paulb@53 | 49 | |
paulb@53 | 50 | # vim: tabstop=4 expandtab shiftwidth=4 |