__revision__ = '$Id: __init__.py,v 1.19 2005/10/09 01:04:46 mbrown Exp $' def PreprocessFiles(dirs, files): """ PreprocessFiles(dirs, files) -> (dirs, files) This function is responsible for sorting and trimming the file and directory lists as needed for proper testing. """ from Ft.Lib.TestSuite import RemoveTests, SortTests ignored_files = [] RemoveTests(files, ignored_files) ordered_files = [] SortTests(files, ordered_files) ignored_dirs = [] RemoveTests(dirs, ignored_dirs) ordered_dirs = ['Core', 'Borrowed'] SortTests(dirs, ordered_dirs) return (dirs, files) # -- run modes ------------------------------------------------------- class _DomTree: def __init__(self, dom): from xml.dom import Node self.DOM = dom self.PI = dom.firstChild self.ROOT = dom.documentElement comment = self.ROOT.firstChild while comment and comment.nodeType != Node.COMMENT_NODE: comment = comment.nextSibling self.COMMENT = comment self.CHILDREN = filter(lambda node, type=Node.ELEMENT_NODE: node.nodeType == type, self.ROOT.childNodes) self.CHILD1 = self.CHILDREN[0] self.ATTR1 = self.CHILD1.getAttributeNodeNS(None, 'attr1') self.ATTR31 = self.CHILD1.getAttributeNodeNS(None, 'attr31') self.GCHILDREN1 = filter(lambda node, type=Node.ELEMENT_NODE: node.nodeType == type, self.CHILD1.childNodes) self.GCHILD11 = self.GCHILDREN1[0] self.GCHILD12 = self.GCHILDREN1[1] self.TEXT1 = self.CHILD1.lastChild self.CHILD2 = self.CHILDREN[1] self.ATTR2 = self.CHILD2.getAttributeNodeNS(None, 'attr1') self.IDATTR2 = self.CHILD2.getAttributeNodeNS(None, 'CODE') self.GCHILDREN2 = filter(lambda node, type=Node.ELEMENT_NODE: node.nodeType == type, self.CHILD2.childNodes) self.GCHILD21 = self.GCHILDREN2[0] self.GCHILD22 = self.GCHILDREN2[1] self.CHILD3 = self.CHILDREN[2] self.ATTR3 = self.CHILD3.getAttributeNodeNS('http://foo.com', 'name') self.PI2 = dom.lastChild self.LANG = self.CHILDREN[3] self.NONASCIIQNAME = filter(lambda node, type=Node.ELEMENT_NODE: node.nodeType == type, self.LANG.childNodes)[-1] self.LCHILDREN = filter(lambda node, type=Node.ELEMENT_NODE: node.nodeType == type, self.LANG.childNodes) self.LCHILD1 = self.LCHILDREN[0] self.LCHILD2 = self.LCHILDREN[1] from Ft.Xml import cDomlette, InputSource xml = """ ]> Text1 """ from Ft.Lib.TestSuite import TestMode class _XPathMode(TestMode.TestMode): def _init(self, tester): return 1 def _pre(self,tester): tester.test_data['tree'] = _DomMapping[self.name][0] tester.test_data['parse'] = _DomMapping[self.name][1] _DomMapping = {} isrc = InputSource.DefaultFactory.fromString(xml, 'urn:cDomlette-test-tree') _DomMapping['cDomlette'] = (_DomTree(cDomlette.NonvalParse(isrc)), cDomlette.NonvalParse) MODES = [_XPathMode('cDomlette', default=1)]