def Test(**attrs): import sys, os import TestSuite, Errors if not attrs.has_key('script_name'): attrs['script_name'] = sys.argv[0] if not attrs.has_key('script_args'): attrs['script_args'] = sys.argv[1:] # Create the TestSuite instance using the arguments to initialize it. test_dir = os.path.dirname(attrs['script_name']) or os.getcwd() try: sys.path.insert(0, test_dir) try: suite = TestSuite.TestSuite(attrs) except Errors.TestSuiteSetupError, msg: if attrs.has_key('name'): raise SystemExit, \ 'error in %s test command: %s' % (attrs['name'], msg) else: raise SystemExit, \ 'error in test command: %s' % msg try: ok = suite.parseCommandLine() except Errors.TestSuiteArgumentError, msg: raise SystemExit, \ suite.generateUsage() + '\nerror: %s' % msg
def realm_test(): """ Testing apparatus for realm of reckoning """ suite = TestSuite.TestSuite() print "\n-----Testing Character-----" test_char = Character('male', 'Rick', 10, 5, 5, 0, [], [0, 0]) print "character:", test_char print "\nTesting set_coords get_coords and get_coord..." suite.run_test(test_char.get_coords(), [0, 0], "Test 1:") test_char.set_coords([1, 1]) suite.run_test(test_char.get_coords(), [1, 1], "Test 2:") test_char.set_coords([5, 3]) suite.run_test(test_char.get_coord(0), 5, "Test 3:") test_char.set_coords([1, 2]) suite.run_test(test_char.get_coord(1), 2, "Test 4:") print "\nTesting attrib_list (check visually)..." suite.run_test(test_char.attrib_list(), None, "Test 5:") print "\nTesting add_to_inventory and get_inventory (check visually)..." print "Adding 'flint' and 'eggs' to inventory ..." suite.run_test(test_char.add_to_inventory('flint'), True, "Test 6:") suite.run_test(test_char.add_to_inventory('eggs'), True, "Test 7:") suite.run_test(test_char.get_inventory(), ['flint', 'eggs'], "Test 8:") print "\n" suite.report_results()
suite = [] import test_AS, test_PLC, test_BS, test_BT, test_MCMC, test_HN, test_FC, test_htt suite += test_AS.suite # asymptotic CLs suite += test_PLC.suite # profile likelihood suite += test_BS.suite # bayes simple suite += test_BT.suite # bayes toymc suite += test_MCMC.suite # bayes mcmc suite += test_HN.suite # hybrid new suite += test_FC.suite # feldman cousins suite += test_htt.suite # all htt tests from TestSuite import * dir = options.name if options.name else options.suite thisSuite = TestSuite(dir, options, suite) for cmd in args: if cmd == "list": thisSuite.listJobs() elif cmd == "create": print "Creating test suite in directory", dir thisSuite.createJobs() print "Done." elif cmd == "run": if options.threads: thisSuite.runLocallyASync(threads=options.threads) else: thisSuite.runLocallySync() elif cmd == "submit": thisSuite.runBatch(options.queue) elif cmd == "report":
node = doc.createElementNS('www.fourthought.com', 'ft:Node4') if nm.setNamedItemNS(node) != None: tester.error('setNamedItemNS returns a value; should be (null)') tester.testDone() tester.startTest("Testing getNamedItemNS()") if nm.getNamedItemNS('www.fourthought.com', 'Node4').nodeName != node.nodeName: tester.error("getNamedItemNS failed") tester.testDone() tester.startTest("Testing removeNamedItemNS()") if nm.removeNamedItemNS('www.fourthought.com', 'Node4').nodeName != node.nodeName: tester.error("removeNamedItemNS failed") if nm.length != 1: tester.error("removeNamedItemNS failed") tester.testDone() return tester.groupDone() if __name__ == '__main__': import sys import TestSuite testSuite = TestSuite.TestSuite() retVal = test(testSuite) sys.exit(retVal)
def testSuite(self): suite = TestSuite() suite.add(WasRun("testMethod")) suite.add(WasRun("testBrokenMethod")) suite.run(self.result) assert ("2 run, 1 failed" == self.result.summary())
test.run(self.result) assert ("1 run, 0 failed" == self.result.summary()) def testFailedResult(self): test = WasRun("testBrokenMethod") test.run(self.result) assert ("1 run, 1 failed" == self.result.summary()) def testFailedResultFormatting(self): self.result.testStarted() self.result.testFailed() assert ("1 run, 1 failed" == self.result.summary()) def testSuite(self): suite = TestSuite() suite.add(WasRun("testMethod")) suite.add(WasRun("testBrokenMethod")) suite.run(self.result) assert ("2 run, 1 failed" == self.result.summary()) suite = TestSuite() suite.add(TestCaseTest("testTemplateMethod")) suite.add(TestCaseTest("testResult")) suite.add(TestCaseTest("testFailedResult")) suite.add(TestCaseTest("testFailedResultFormatting")) suite.add(TestCaseTest("testSuite")) result = TestResult() suite.run(result) print(result.summary())
tester.error('splitText did not properly split first half') if t2.data != 'TWO': tester.error('splitText did not properly split second half') try: t.splitText(100) except DOMException, x: if x.code != INDEX_SIZE_ERR: name = get_exception_name(x.code) tester.error("Wrong exception '%s', expected INDEX_SIZE_ERR" % name) else: tester.error('splitText doesn\'t catch an invalid index') tester.testDone() tester.startTest('Testing cloneNode()') t3 = t.cloneNode(0) if t3.data != t.data: error("cloneNode does not copy data") tester.testDone() return tester.groupDone() if __name__ == '__main__': import sys import TestSuite tester = TestSuite.TestSuite() retVal = test(tester) sys.exit(retVal)
ArgumentsList = list(map(str, ArgumentString.split(','))) path = os.getcwd() new_path = os.path.join(path, 'TestSuites') TestCases = [] for filename in os.listdir(new_path): for foldername in ArgumentsList: if foldername == filename: for jsonfilename in os.listdir(os.path.join(new_path, foldername)): if (jsonfilename[-5:] == '.json'): TestCases.append(foldername + "/" + jsonfilename[:-5]) data = {} data['testCases'] = TestCases ActualResult = TestCases os.chdir(path) for testName in data["testCases"]: TotalTestCases += 1 testSuite = TestSuite(testName, TestCases) countpass, countfail, passed_list, failed_list, utterancesList = testSuite.begin( ) passed_data = passed_list failed_data.append(failed_list) writeResults(testName, countpass, countfail, utterancesList) path = os.getcwd() new_path = os.path.join(path, 'TestSuites') os.chdir(new_path) filenames = [] for filename in TestCases: filenames.append(filename + '.xlsx') os.chdir(path) writeSummary(filenames)
<td style="color:green; font-weight:bold">""" + str( countpass) + """</td> </tr> <tr> <td>Fail</td> <td style="color:red; font-weight:bold">""" + str(countfail) + """</td> </tr> <tr> <td>Total</td> <td style="color:orange; font-weight:bold">""" + str( countfail + countpass) + """</td> </tr> </table> </body> </html>""" # message = message.format(countpass=str(self.countpass),countfail=str(self.countfail),counttotal=str(self.total)) # return message f.write(message) f.close() f = open(resultsHtml, 'w') f.close() with open(testSuiteFile) as data_file: data = json.load(data_file) for testName in data["testCases"]: testSuite = TestSuite(testName) countpass, countfail = testSuite.begin() testName = testName.split("/")[-1] writeResults(testName, countpass, countfail)
from TestSuite import * from Trial import * from itertools import combinations radius = 1 suite_id = 1 flag_num = 5 distance = 7.46 ts1 = TestSuite(suite_id, flag_num, distance) ts1.generate() file_name = './test_' + str(flag_num) + '_' + str(distance) + '.json' ts1.save(file_name)
def main(): # default directory for the tests: the current working directory # @todo: test these cwd = os.path.abspath(os.getcwd()) # default script file path: in the parent directory a zip file # whose basename is identical to the basename of the current working # directory script_source = cwd + "../" + os.path.basename(cwd) + ".zip" # for testing: cwd = '/Users/csaba/Dropbox/Public/CMPUT-174-2012-Fall/assignments/as-174-2-marking-basic' script_source = '/Users/csaba/Dropbox/Public/CMPUT-174-2012-Fall/assignments/as-174-2' parser = argparse.ArgumentParser( description='Run tests against a submission file.' # , epilog='''aaa''' ) parser.add_argument('--submission', '-s', default=script_source, help='Scripts to be tested again (zip or dir)') parser.add_argument( '--test_directory', '-t', default=cwd, help='Directory containing the tests (defaults to current)') parser.add_argument('--verbose', '-v', action='store_true', help='show the detailed outcome of the tests') parser.add_argument('--visible_space_diff', '-p', action='store_true', help='show the results of the diff') parser.add_argument('--timeout', type=int,default=200 , help='Terminate the script with an error after the '\ 'timeout has passed') parser.add_argument('--generate', '-g', action='store_true', help='generates expected outputs') # parser.add_argument('--pep8', action='store_true' # , help='Run pep8 on the source files') parser.add_argument('--wait_on_exit', '-w', action='store_true' , help='Exit on finish instead of pausing and waiting '\ 'for the user') parser.add_argument( '--verify_script_dir', action='store_true', help='Verify whether the script directory is correctly formatted') parser.add_argument('--python_only', action='store_true', help='Allow python only') args = parser.parse_args() testcase_source = os.path.abspath(os.getcwd()) if args.test_directory: testcase_source = args.test_directory try: any_language = not args.python_only print("Creating test suite") test_suite = TestSuite.TestSuite(testcase_source, any_language) print("Collecting script-tests") test_suite.collect_tests(create_missing_dirs=False) print("Collected %s script-tests" % len(test_suite.test_cases)) print("Verifying submission files") script_source = args.submission script_dir = TestSuite.prep_submission(script_source, test_suite.assignment_name, args.verify_script_dir) print("Running tests") test_suite.run_tests(script_dir, timeout=args.timeout, gen_res=args.generate, visible_space_diff=args.visible_space_diff, verbose=args.verbose, stop_early=False) summary = test_suite.get_summary() print( "Number of tests: %s Errors: %s Serious failures: %s All failures: %s" % summary) # report the results if args.wait_on_exit: input("Press <Enter> to exit") except RuntimeError as err: print("Error:\n" + str(err))
testRestriction(tester, doc, Nodes, Nodes['Comment'], good) tester.testDone() tester.startTest('Testing Text') good = [ ] testRestriction(tester, doc, Nodes, Nodes['Text'], good) tester.testDone() tester.startTest('Testing CDATASection') good = [ ] testRestriction(tester, doc, Nodes, Nodes['CDATA'], good) tester.testDone() return tester.groupDone() if __name__ == '__main__': import sys import TestSuite tester = TestSuite.TestSuite(0,1) retVal = test(tester) sys.exit(retVal)
if p1.nodeType != e.nodeType: tester.error("cloneNode failed on nodeType") if p1.ownerDocument.nodeName != e.ownerDocument.nodeName: tester.error("cloneNode failed on ownerDocument") tester.testDone() tester.startTest("Testing cloneNode() [deep]") p2 = e.cloneNode(1) #Verify the same number of different children if p2.childNodes.length != e.childNodes.length: tester.error("cloneNode didn\'t copy all of the nodes") if p2.firstChild == e.firstChild: tester.error("cloneNode failed on firstChild") if p2.lastChild == e.lastChild: tester.error("cloneNode failed on lastChild") if p2.childNodes.item(1) == e.childNodes.item(1): tester.error("cloneNode has the same children") tester.testDone() return tester.groupDone() if __name__ == '__main__': import sys import TestSuite tester = TestSuite.TestSuite(1, 1) retVal = test(tester) sys.exit(retVal)
def test(tester=None): if tester is None: import TestSuite tester = TestSuite.TestSuite(1,1) tester.startGroup('DOM Level II Ranges') tester.startTest('Creating test environment') ReadDoc() tester.testDone() tester.startTest("Compare Positions") range = doc.createRange() #CASE 1 tester.testResults(Range.Range.POSITION_EQUAL,range._Range__comparePositions(ADDRBOOK,0,ADDRBOOK,0),done=0) tester.testResults(Range.Range.POSITION_LESS_THAN,range._Range__comparePositions(ADDRBOOK,0,ADDRBOOK,1),done=0) tester.testResults(Range.Range.POSITION_GREATER_THAN,range._Range__comparePositions(ADDRBOOK,1,ADDRBOOK,0),done=0) #CASE 2 tester.testResults(Range.Range.POSITION_LESS_THAN,range._Range__comparePositions(ADDRBOOK,0,EN,1),done=0,msg = 'CASE 2 #1') tester.testResults(Range.Range.POSITION_LESS_THAN,range._Range__comparePositions(ADDRBOOK,5,EN,1),done=0,msg = 'CASE 2 #2') tester.testResults(Range.Range.POSITION_GREATER_THAN,range._Range__comparePositions(ADDRBOOK,6,EN,1),done=0,msg = 'CASE 2 #3') #CASE 3 tester.testResults(Range.Range.POSITION_GREATER_THAN,range._Range__comparePositions(EN,1,ADDRBOOK,0),done=0,msg = 'CASE 3 #1') tester.testResults(Range.Range.POSITION_GREATER_THAN,range._Range__comparePositions(EN,1,ADDRBOOK,5),done=0,msg = 'CASE 3 #2') tester.testResults(Range.Range.POSITION_LESS_THAN,range._Range__comparePositions(EN,1,ADDRBOOK,6),done=0,msg = 'CASE 3 #3') #CASE 4 tester.testResults(Range.Range.POSITION_LESS_THAN,range._Range__comparePositions(PA,0,EN_NAME,0),done=0,msg = 'CASE 4 #1') tester.testResults(Range.Range.POSITION_GREATER_THAN,range._Range__comparePositions(EN,0,PA_NAME,0),done=0,msg = 'CASE 4 #2') #TEst with one as doc tester.testResults(Range.Range.POSITION_LESS_THAN,range._Range__comparePositions(doc,0,EN_NAME,0),done=0,msg = 'w/doc') tester.testDone() tester.startTest("Range.setStart") range.setStart(PA,1) tester.testResults(PA,range.startContainer,done=0,msg='setStart 1') tester.testResults(1,range.startOffset,done=0,msg='setStart 2') tester.testResults(PA,range.endContainer,done=0,msg='setStart 3') tester.testResults(1,range.endOffset,done=0,msg='setStart 4') tester.testResults(PA,range.commonAncestorContainer,done=0,msg='setStart 5') tester.testResults(1,range.collapsed,done=0,msg='collapsed') tester.testDone() tester.startTest("Range.setEnd") range.setEnd(PA_NAME,1) tester.testResults(PA,range.startContainer,done=0,msg='setEnd 1') tester.testResults(1,range.startOffset,done=0,msg='setEnd 2') tester.testResults(PA_NAME,range.endContainer,done=0,msg='setEnd 3') tester.testResults(1,range.endOffset,done=0,msg='setEnd 4') tester.testResults(PA,range.commonAncestorContainer,done=0,msg='setEnd 5') tester.testResults(0,range.collapsed,done=0,msg='collapsed') range.setEnd(EN_NAME,1) tester.testResults(PA,range.startContainer,done=0,msg='setEnd 6') tester.testResults(1,range.startOffset,done=0,msg='setEnd 7') tester.testResults(EN_NAME,range.endContainer,done=0,msg='setEnd 8') tester.testResults(1,range.endOffset,done=0,msg='setEnd 9') tester.testResults(ADDRBOOK,range.commonAncestorContainer,done=0,msg='setEnd 10') tester.testResults(0,range.collapsed,done=0,msg='collapsed') range.setEnd(doc,0) tester.testResults(doc,range.startContainer,done=0,msg='setEnd 11') tester.testResults(0,range.startOffset,done=0,msg='setEnd 12') tester.testResults(doc,range.endContainer,done=0,msg='setEnd 13') tester.testResults(0,range.endOffset,done=0,msg='setEnd 14') tester.testResults(doc,range.commonAncestorContainer,done=0,msg='setEnd 15') tester.testResults(1,range.collapsed,done=0,msg='collapsed') tester.testDone() tester.startTest("Range.startAfter") range.setEnd(EN_NAME,1) range.setStartAfter(EN) tester.testResults(ADDRBOOK,range.startContainer,done=0,msg='startAfter 1') tester.testResults(6,range.startOffset,done=0,msg='startAfter 2') tester.testResults(ADDRBOOK,range.commonAncestorContainer,done=0,msg='startAfter 3') tester.testDone() tester.startTest("Range.startBefore") range.setEnd(EN_NAME,1) range.setStartBefore(EN) tester.testResults(ADDRBOOK,range.startContainer,done=0,msg='startBefore 1') tester.testResults(5,range.startOffset,done=0,msg='startBefore 2') tester.testResults(ADDRBOOK,range.commonAncestorContainer,done=0,msg='startBefore 3') tester.testDone() tester.startTest("Range.endAfter") range.setStart(ADDRBOOK,0) range.setEndAfter(EN_NAME) tester.testResults(EN,range.endContainer,done=0,msg='endAfter 1') tester.testResults(2,range.endOffset,done=0,msg='endAfter 2') tester.testResults(ADDRBOOK,range.commonAncestorContainer,done=0,msg='endAfter 3') tester.testDone() tester.startTest("Range.endBefore") range.setStart(ADDRBOOK,0) range.setEndBefore(EN_NAME) tester.testResults(EN,range.endContainer,done=0,msg='endBefore 1') tester.testResults(1,range.endOffset,done=0,msg='endBefore 2') tester.testResults(ADDRBOOK,range.commonAncestorContainer,done=0,msg='endBefore 3') tester.testDone() tester.startTest("Range.collapse") range.setStart(ADDRBOOK,0) range.setEndBefore(EN_NAME) range.collapse(1) tester.testResults(ADDRBOOK,range.startContainer,done=0,msg='collapse 1') tester.testResults(0,range.startOffset,done=0,msg='collapse 2') tester.testResults(ADDRBOOK,range.endContainer,done=0,msg='collapse 3') tester.testResults(0,range.endOffset,done=0,msg='collapse 4') range.setStart(ADDRBOOK,0) range.setEndBefore(EN_NAME) range.collapse(0) tester.testResults(EN,range.startContainer,done=0,msg='collapse 5') tester.testResults(1,range.startOffset,done=0,msg='collapse 6') tester.testResults(EN,range.endContainer,done=0,msg='collapse 7') tester.testResults(1,range.endOffset,done=0,msg='collapse 8') tester.testDone() tester.startTest("Range.selectNode") range.selectNode(EN) tester.testResults(ADDRBOOK,range.startContainer,done=0,msg='selectNode 1') tester.testResults(5,range.startOffset,done=0,msg='selectNode 2') tester.testResults(ADDRBOOK,range.endContainer,done=0,msg='selectNode 3') tester.testResults(6,range.endOffset,done=0,msg='selectNode 4') tester.testDone() tester.startTest("Range.selectNodeContents") range.selectNodeContents(EN) tester.testResults(EN,range.startContainer,done=0,msg='selectNodeContents 1') tester.testResults(0,range.startOffset,done=0,msg='selectNodeContents 2') tester.testResults(EN,range.endContainer,done=0,msg='selectNodeContents 3') tester.testResults(13,range.endOffset,done=0,msg='selectNodeContents 4') tester.testDone() tester.startTest("Range.compareBoundaryPoints") range.selectNodeContents(EN) r2 = doc.createRange() r2.selectNode(PA) tester.testResults(1,range.compareBoundaryPoints(range.START_TO_START,r2),done=0,msg='compareBoundaryPoints 1') tester.testResults(1,range.compareBoundaryPoints(range.START_TO_END,r2),done=0,msg='compareBoundaryPoints 2') tester.testResults(1,range.compareBoundaryPoints(range.END_TO_START,r2),done=0,msg='compareBoundaryPoints 3') tester.testResults(1,range.compareBoundaryPoints(range.END_TO_END,r2),done=0,msg='compareBoundaryPoints 4') tester.testDone() tester.startTest("Range.deleteContents") range.setStart(EN_NAME.firstChild,2) range.setEnd(EN_NAME.firstChild,11) range.deleteContents() tester.testResults('Emsi',EN_NAME.firstChild.data,done=0,msg='deleteContents 1') ReadDoc() range = doc.createRange() range.setStart(EN,2) range.setEnd(EN,12) range.deleteContents() tester.testResults(2,len(EN.childNodes),done=0,msg='deleteContents 2') tester.testResults(EN_NAME,EN.childNodes[1],done=0,msg='deleteContents 3') #Start is the ancestor ReadDoc() range = doc.createRange() range.setStart(ADDRBOOK,0) range.setEnd(EN_PAGER,1) range.deleteContents() tester.testResults(4,len(ADDRBOOK.childNodes),done=0,msg='deleteContents 4') tester.testResults(4,len(EN.childNodes),done=0,msg='deleteContents 5') tester.testResults(EN_PAGER,EN.childNodes[0],done=0,msg='deleteContents 6') tester.testResults(None,EN.childNodes[0].firstChild,done=0,msg='deleteContents 7') #End is the acnestor ReadDoc() range = doc.createRange() range.setStart(PA_NAME,0) range.setEnd(ADDRBOOK,4) range.deleteContents() tester.testResults(6,len(ADDRBOOK.childNodes),done=0,msg='deleteContents 18') tester.testResults(2,len(PA.childNodes),done=0,msg='deleteContents 19') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='deleteContents 20') tester.testResults(None,PA.childNodes[1].firstChild,done=0,msg='deleteContents 21') #Text to text deep ancestor ReadDoc() range = doc.createRange() range.setStart(PA_NAME.firstChild,2) range.setEnd(EN_PAGER.firstChild,4) range.deleteContents() tester.testResults(2,len(PA.childNodes),done=0,msg='deleteContents 2') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='deleteContents 3') tester.testResults(6,len(ADDRBOOK.childNodes),done=0,msg='deleteContents 4') tester.testResults(4,len(EN.childNodes),done=0,msg='deleteContents 5') tester.testResults(EN_PAGER,EN.childNodes[0],done=0,msg='deleteContents 6') ReadDoc() range = doc.createRange() range.setStart(PA_NAME,0) range.setEnd(EN_PAGER,1) range.deleteContents() tester.testResults(2,len(PA.childNodes),done=0,msg='deleteContents 7') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='deleteContents 8') tester.testResults(None,PA.childNodes[1].firstChild,done=0,msg='deleteContents 9') tester.testResults(6,len(ADDRBOOK.childNodes),done=0,msg='deleteContents 10') tester.testResults(4,len(EN.childNodes),done=0,msg='deleteContents 11') tester.testResults(EN_PAGER,EN.childNodes[0],done=0,msg='deleteContents 12') tester.testResults(None,EN.childNodes[0].firstChild,done=0,msg='deleteContents 13') tester.testDone() tester.startTest("Range.extractContents") #Test two text nodes same ReadDoc() range = doc.createRange() range.setStart(EN_NAME.firstChild,2) range.setEnd(EN_NAME.firstChild,11) df = range.extractContents() tester.testResults('Emsi',EN_NAME.firstChild.data,done=0,msg='extractContents 1') tester.testResults(1,len(df.childNodes),done=0,msg='extractContents 2') tester.testResults('eka Ndubui',df.childNodes[0].data,done=0,msg='extractContents 3') #Two elements, same node ReadDoc() range = doc.createRange() range.setStart(EN,2) range.setEnd(EN,12) df = range.extractContents() tester.testResults(2,len(EN.childNodes),done=0,msg='extractContents 4') tester.testResults(EN_NAME,EN.childNodes[1],done=0,msg='extractContents 5') tester.testResults(11,len(df.childNodes),done=0,msg='extractContents 6') tester.testResults(EN_ADDR,df.childNodes[1],done=0,msg='extractContents 7') tester.testResults(EN_EMAIL,df.childNodes[9],done=0,msg='extractContents 8') #Start is the ancestor ReadDoc() range = doc.createRange() range.setStart(ADDRBOOK,0) range.setEnd(EN_PAGER,1) df = range.extractContents() tester.testResults(4,len(ADDRBOOK.childNodes),done=0,msg='extractContents 9') tester.testResults(4,len(EN.childNodes),done=0,msg='extractContents 10') tester.testResults(EN_PAGER,EN.childNodes[0],done=0,msg='extractContents 11') tester.testResults(None,EN.childNodes[0].firstChild,done=0,msg='extractContents 12') tester.testResults(6,len(df.childNodes),done=0,msg='extractContents 13') #End is the acnestor ReadDoc() range = doc.createRange() range.setStart(PA_NAME,0) range.setEnd(ADDRBOOK,4) df = range.extractContents() tester.testResults(6,len(ADDRBOOK.childNodes),done=0,msg='extractContents 14') tester.testResults(2,len(PA.childNodes),done=0,msg='extractContents 15') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='extractContents 16') tester.testResults(None,PA.childNodes[1].firstChild,done=0,msg='extractContents 17') tester.testResults(4,len(df.childNodes),done=0,msg='extractContents 18') #Text to text deep ancestor ReadDoc() range = doc.createRange() range.setStart(PA_NAME.firstChild,2) range.setEnd(EN_PAGER.firstChild,4) df = range.extractContents() tester.testResults(2,len(PA.childNodes),done=0,msg='extractContents 19') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='extractContents 20') tester.testResults(6,len(ADDRBOOK.childNodes),done=0,msg='extractContents 21') tester.testResults(4,len(EN.childNodes),done=0,msg='extractContents 22') tester.testResults(EN_PAGER,EN.childNodes[0],done=0,msg='extractContents 23') tester.testResults(5,len(df.childNodes),done=0,msg='extractContents 24') ReadDoc() range = doc.createRange() range.setStart(PA_NAME,0) range.setEnd(EN_PAGER,1) df = range.extractContents() tester.testResults(2,len(PA.childNodes),done=0,msg='extractContents 25') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='extractContents 26') tester.testResults(None,PA.childNodes[1].firstChild,done=0,msg='extractContents 27') tester.testResults(6,len(ADDRBOOK.childNodes),done=0,msg='extractContents 28') tester.testResults(4,len(EN.childNodes),done=0,msg='extractContents 29') tester.testResults(EN_PAGER,EN.childNodes[0],done=0,msg='extractContents 30') tester.testResults(None,EN.childNodes[0].firstChild,done=0,msg='extractContents 31') tester.testResults(5,len(df.childNodes),done=0,msg='extractContents 32') tester.testDone() tester.startTest("Range.cloneContents") #Test two text nodes same ReadDoc() range = doc.createRange() range.setStart(EN_NAME.firstChild,2) range.setEnd(EN_NAME.firstChild,11) df = range.cloneContents() tester.testResults('Emeka Ndubuisi',EN_NAME.firstChild.data,done=0,msg='cloneContents 1') tester.testResults(1,len(df.childNodes),done=0,msg='cloneContents 2') tester.testResults('eka Ndubui',df.childNodes[0].data,done=0,msg='cloneContents 3') #Two elements, same node ReadDoc() range = doc.createRange() range.setStart(EN,2) range.setEnd(EN,12) df = range.cloneContents() tester.testResults(13,len(EN.childNodes),done=0,msg='cloneContents 4') tester.testResults(EN_NAME,EN.childNodes[1],done=0,msg='cloneContents 5') tester.testResults(11,len(df.childNodes),done=0,msg='cloneContents 6') tester.testResults('42 Spam Blvd',df.childNodes[1].firstChild.data,done=0,msg='cloneContents 7') tester.testResults('*****@*****.**',df.childNodes[9].firstChild.data,done=0,msg='cloneContents 8') #Start is the ancestor ReadDoc() range = doc.createRange() range.setStart(ADDRBOOK,0) range.setEnd(EN_PAGER,1) df = range.cloneContents() tester.testResults(9,len(ADDRBOOK.childNodes),done=0,msg='cloneContents 9') tester.testResults(13,len(EN.childNodes),done=0,msg='cloneContents 10') tester.testResults(EN_PAGER,EN.childNodes[9],done=0,msg='cloneContents 11') tester.testResults('800-SKY-PAGEx767676',EN_PAGER.firstChild.data,done=0,msg='cloneContents 12') tester.testResults(6,len(df.childNodes),done=0,msg='cloneContents 13') #End is the acnestor ReadDoc() range = doc.createRange() range.setStart(PA_NAME,0) range.setEnd(ADDRBOOK,4) df = range.cloneContents() tester.testResults(9,len(ADDRBOOK.childNodes),done=0,msg='cloneContents 14') tester.testResults(13,len(PA.childNodes),done=0,msg='cloneContents 15') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='cloneContents 16') tester.testResults('Pieter Aaron',PA_NAME.firstChild.data,done=0,msg='cloneContents 17') tester.testResults(4,len(df.childNodes),done=0,msg='cloneContents 18') #Text to text deep ancestor ReadDoc() range = doc.createRange() range.setStart(PA_NAME.firstChild,2) range.setEnd(EN_PAGER.firstChild,4) df = range.cloneContents() tester.testResults(13,len(PA.childNodes),done=0,msg='cloneContents 19') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='cloneContents 20') tester.testResults(9,len(ADDRBOOK.childNodes),done=0,msg='cloneContents 21') tester.testResults(13,len(EN.childNodes),done=0,msg='cloneContents 22') tester.testResults(EN_PAGER,EN.childNodes[9],done=0,msg='cloneContents 23') tester.testResults(5,len(df.childNodes),done=0,msg='cloneContents 24') ReadDoc() range = doc.createRange() range.setStart(PA_NAME,0) range.setEnd(EN_PAGER,1) df = range.cloneContents() tester.testResults(13,len(PA.childNodes),done=0,msg='cloneContents 25') tester.testResults(PA_NAME,PA.childNodes[1],done=0,msg='cloneContents 26') tester.testResults(9,len(ADDRBOOK.childNodes),done=0,msg='cloneContents 27') tester.testResults(13,len(EN.childNodes),done=0,msg='cloneContents 29') tester.testResults(EN_PAGER,EN.childNodes[9],done=0,msg='cloneContents 30') tester.testResults(5,len(df.childNodes),done=0,msg='cloneContents 32') tester.testDone() tester.startTest("Range.insertNode") ReadDoc() range = doc.createRange() range.setStart(PA_NAME.firstChild,1) range.setEnd(EN_PAGER,1) newNode = doc.createElement('FOO') range.insertNode(newNode) tester.testResults(3,len(PA_NAME.childNodes),done=0,msg='insertNode 1') tester.testResults('P',PA_NAME.firstChild.data,done=0,msg='insertNode 2') tester.testResults(newNode,PA_NAME.childNodes[1],done=0,msg='insertNode 3') ReadDoc() range = doc.createRange() range.setStart(PA,1) range.setEnd(EN_PAGER,1) newNode = doc.createElement('FOO') range.insertNode(newNode) tester.testResults(14,len(PA.childNodes),done=0,msg='insertNode 3') tester.testResults(newNode,PA.childNodes[2],done=0,msg='insertNode 4') tester.testDone() tester.startTest("Range.surroundContents") ReadDoc() range = doc.createRange() range.setStart(PA,0) range.setEnd(PA,9) newNode = doc.createElement('FOO') range.surroundContents(newNode) tester.testResults(4,len(PA.childNodes),done=0,msg='insertNode 1') tester.testResults(newNode,PA.childNodes[1],done=0,msg='insertNode 2') tester.testDone() tester.startTest("Range.cloneRange") ReadDoc() range = doc.createRange() range.setStart(PA,0) range.setEnd(PA,9) newRange = range.cloneRange() tester.testResults(newRange.endOffset,range.endOffset,done=0,msg='cloneRange 1') tester.testResults(newRange.endContainer,range.endContainer,done=0,msg='cloneRange 2') tester.testResults(newRange.startOffset,range.startOffset,done=0,msg='cloneRange 3') tester.testResults(newRange.startContainer,range.startContainer,done=0,msg='cloneRange 4') tester.testResults(newRange.collapsed,range.collapsed,done=0,msg='cloneRange 5') tester.testResults(newRange.commonAncestorContainer,range.commonAncestorContainer,done=0,msg='cloneRange 6') tester.testDone() tester.startTest("Range.toString") ReadDoc() range = doc.createRange() range.setStart(PA,0) range.setEnd(PA,9) range.toString() range.setStart(PA_NAME.firstChild,3) range.setEnd(EN_EMAIL.firstChild,9) range.toString() tester.testDone() tester.startTest("Range.detach") ReadDoc() range = doc.createRange() range.detach() from xml.dom import InvalidStateErr try: print range.startOffset except InvalidStateErr, e: tester.testDone