########################################################################
# $Header: /var/local/cvsroot/4Suite/test/Xml/Xslt/Exslt/test_regexp.py,v 1.2 2005/12/28 02:38:18 jkloth Exp $
"""Tests for EXSLT Regular Expressions"""
from Xml.Xslt import test_harness
SOURCE = """
Is this EXSLT? No. no
"""
TESTS = []
# regexp:match()
def test_Match(tester):
sty = """\
Part
=
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = """\
Part 1 = http://www.bayes.co.uk/xml/index.xml
Part 2 = http
Part 3 = www.bayes.co.uk
Part 4 =\x20
Part 5 = /xml/index.xml
"""
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:match() non-global match')
# global match
sty = """\
Part
=
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = """\
Part 1 = This
Part 2 = is
Part 3 = a
Part 4 = test
Part 5 = string
"""
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:match() global')
# global, case-insensitive match
sty = """\
Part
=
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = """\
Part 1 = This
Part 2 = is
Part 3 = a
Part 4 = test
Part 5 = string
"""
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:match() global, case-insensitive')
return
TESTS.append(test_Match)
# regexp:replace()
def test_Replace(tester):
sty = """\
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = "Is this EXSLT? No. yes!!!"
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:replace() global')
sty = """\
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = "Is this EXSLT? yes!!!. yes!!!"
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:replace() global, case-insensitive')
return
TESTS.append(test_Replace)
# regexp:test()
def test_Test(tester):
sty = """\
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = "true"
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:test() global')
sty = """\
"""
source = test_harness.FileInfo(string=SOURCE)
sheet = test_harness.FileInfo(string=sty)
expected = "true"
test_harness.XsltTest(tester, source, [sheet], expected,
title='regexp:test() global, case-insensitive')
return
TESTS.append(test_Test)
def Test(tester):
tester.startGroup('Regular Expressions')
for test in TESTS:
test(tester)
tester.groupDone()
return