######################################################################## # $Header: /var/local/cvsroot/4Suite/test/Xml/Xslt/Exslt/test_dynamic.py,v 1.1.2.4 2006/10/12 04:45:45 mbrown Exp $ """Tests for EXSLT Dynamic""" from Xml.Xslt import test_harness TESTS = [] SOURCE = """""" # dyn:evaluate() def test_evaluate(tester): TRANSFORM = """ """ EXPECTED = '\notuabuoatoano' source = test_harness.FileInfo(string=SOURCE) transform = test_harness.FileInfo(string=TRANSFORM) test_harness.XsltTest(tester, source, [transform], EXPECTED, title='dyn:evaluate()') return TESTS.append(test_evaluate) # dyn:map() def test_map1(tester): TRANSFORM = """ """ EXPECTED = '\n1234' source = test_harness.FileInfo(string=SOURCE) transform = test_harness.FileInfo(string=TRANSFORM) test_harness.XsltTest(tester, source, [transform], EXPECTED, title='dyn:map()') return TESTS.append(test_map1) SOURCE2 = """1234""" def test_map2(tester): TRANSFORM = """ """ EXPECTED = '\n1234' source = test_harness.FileInfo(string=SOURCE2) transform = test_harness.FileInfo(string=TRANSFORM) test_harness.XsltTest(tester, source, [transform], EXPECTED, title='dyn:map() w/string expr') return TESTS.append(test_map2) def test_map3(tester): TRANSFORM = """ """ EXPECTED = '\n1234' source = test_harness.FileInfo(string=SOURCE2) transform = test_harness.FileInfo(string=TRANSFORM) test_harness.XsltTest(tester, source, [transform], EXPECTED, title='dyn:map() w/numeric expr') return TESTS.append(test_map3) def test_map4(tester): TRANSFORM = """ """ EXPECTED = '\ntruetrue' source = test_harness.FileInfo(string=SOURCE2) transform = test_harness.FileInfo(string=TRANSFORM) test_harness.XsltTest(tester, source, [transform], EXPECTED, title='dyn:map() w/boolean expr') return TESTS.append(test_map4) def test_map5(tester): INVALID_EXPRS = ['', '%', 'not()'] TRANSFORM = """ """ EXPECTED = '\n' for invalid_expr in INVALID_EXPRS: source = test_harness.FileInfo(string=SOURCE2) transform = test_harness.FileInfo(string=TRANSFORM % invalid_expr) test_harness.XsltTest(tester, source, [transform], EXPECTED, title="dyn:map() w/invalid expr %r" % invalid_expr) return TESTS.append(test_map5) # dyn:closure() #FIXME: Not a very good test: exercises closure logic, but not dynamic expression evaluation def test_closure(tester): TRANSFORM = """ """ SOURCE2 = """""" EXPECTED = '\n246' source = test_harness.FileInfo(string=SOURCE2) transform = test_harness.FileInfo(string=TRANSFORM) test_harness.XsltTest(tester, source, [transform], EXPECTED, title='dyn:closure()') return TESTS.append(test_closure) def Test(tester): tester.startGroup('EXSLT Dynamic module') for test in TESTS: test(tester) tester.groupDone() return