diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/escapeTeXt/escapeTeXt_test.py |
Initial commit
Diffstat (limited to 'support/escapeTeXt/escapeTeXt_test.py')
-rw-r--r-- | support/escapeTeXt/escapeTeXt_test.py | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/support/escapeTeXt/escapeTeXt_test.py b/support/escapeTeXt/escapeTeXt_test.py new file mode 100644 index 0000000000..e60953385a --- /dev/null +++ b/support/escapeTeXt/escapeTeXt_test.py @@ -0,0 +1,93 @@ +#! /usr/bin/python2.3 -u +# escapeTeXt_test.py +# Do unit testing of the escapeTeXt routines +# 2006-Aug-25 Jim Hefferon +import re + +import unittest + +from escapeTeXt import * + +class escapetext_test(unittest.TestCase): + """Test the escapetext class + """ + def test_generic(self): + # sanity check + s="Hello, World!" + et=escapetext(s) + self.failUnlessEqual(s, + et.output()) + # does it substitute at all? + s="abc $ def" + t="abc \\$ def" + self.failUnlessEqual(t, + escapetext(s).output()) + # bunch of routine substitutions + expected=[("abc { def","abc \\{ def"), + ("abc } def","abc \\} def"), + ("abc % def","abc \\% def"), + ("abc _ def","abc \\_ def"), + ("abc & def","abc \\& def"), + ("abc # def","abc \\# def"), + ("abc < def","abc {\\textless} def"), + ("abc > def","abc {\\textgreater} def"), + ] + for (s,t) in expected: + self.failUnlessEqual(t, + escapetext(s).output()) + # does it substitute twice on one row? + s="abc $ def % ghi" + t="abc \\$ def \\% ghi" + self.failUnlessEqual(t, + escapetext(s).output()) + # backslash + s="abc \ def" + t="abc {\\textbackslash} def" + self.failUnlessEqual(t, + escapetext(s).output()) + # single quotes + s="abc 'def' ghi" + t="abc `def' ghi" + self.failUnlessEqual(t, + escapetext(s).output()) + # single quote next to double quote + s="\"'abc'\" def" + t="``\\,`abc'\\,'' def" + self.failUnlessEqual(t, + escapetext(s).output()) + + def test_refinements(self): + # single quote next to double quote + s="look on p. 23." + t="look on p.\\,23." + self.failUnlessEqual(t, + escapetext(s,refinements=True).output()) + # en dash + s="pages 2-3" + t="pages 2--3" + self.failUnlessEqual(t, + escapetext(s,refinements=True).output()) + # em dash + s="but-no" + t="but---no" + self.failUnlessEqual(t, + escapetext(s,refinements=True).output()) + + def test_feed(self): + # single quote next to double quote + s1="abc $ def" + s2="ghi % jkl" + t1="abc \\$ defghi \\% jkl" + et=escapetext(s1) + et.feed(s2) + self.failUnlessEqual(t1, + et.output()) + s3='mno "yes" pqr' + t2="mno ``yes'' pqr" + et.feed(s3) + self.failUnlessEqual(t2, + et.output()) + + +if __name__=='__main__': + unittest.main() |