rev 449 - trunk/pr

SVN User <[email protected]> Mon, 03 May 2004 11:41:31 -0400
Newsgroups gmane.comp.lang.prothon.cvs
Message-ID <[email protected]>
Author: jknapka
Date: 2004-05-03 11:41:29 -0400 (Mon, 03 May 2004)
New Revision: 449

Modified:
   trunk/pr/strmod.pr
Log:
Expanded string tests.


Modified: trunk/pr/strmod.pr
===================================================================
--- trunk/pr/strmod.pr	2004-05-03 15:04:26 UTC (rev 448)
+++ trunk/pr/strmod.pr	2004-05-03 15:41:29 UTC (rev 449)
@@ -2,19 +2,108 @@
 
 # strmod.pr
 
+# TODO:
+#  *) More comprehensive tests, especially replace() and split().
+#  *) Test binary string handling (when parser is fixed).
+
+failures = 0
+
 s = "test %4d..%4.2e..%s" % (-12, 100/3, 'jhgdjhg')
 
 if s != 'test  -12..3.33e+01..jhgdjhg': 
 	print 'error 1'
 	print s
-	Sys.exit(1)
+	failures = failures+1
 	
+if "abCDefG".lower() != "abcdefg":
+	print "lower() failed!"
+	failures = failures+1
+
+if "abCDefG345%^&".lower() != "abcdefg345%^&":
+	print "lower() failed!"
+	failures = failures+1
+
+if "abCDefG".upper() != "ABCDEFG":
+	print "upper() failed!"
+	failures = failures+1
+
+if "+_098abCDefG".upper() != "+_098ABCDEFG":
+	print "upper() failed!"
+	failures = failures+1
+
+if "abCDefG".replace("CDe","456") != "ab456fG":
+	print "replace() failed!"
+	failures = failures+1
+
+if "abcdefg".capitalize() != "Abcdefg":
+	print "capitalize() failed!"
+	failures = failures+1
+
+if "a\tb\tcde".expandtabs() != "a        b        cde":
+	print "expandtabs() failed!"
+	failures = failures+1
+
+if " \t \r\n abc".lstrip() != "abc":
+	print "lstrip() failed!"
+	failures = failures+1
+
+if "abc \t \r\n ".rstrip() != "abc":
+	print "rstrip() failed!"
+	failures = failures+1
+
+if " \t \r\n abc \t \r\n ".strip() != "abc":
+	print "strip() failed!"
+	failures = failures+1
+
+if ".a.bc.def.ghij.".split('.') != ['', 'a', 'bc', 'def', 'ghij', '']:
+	print "split() failed!"
+	failures = failures+1
+
+if "a.bc.def.ghij".split('.') != ['a', 'bc', 'def', 'ghij']:
+	print "split() failed!"
+	failures = failures+1
+
+if "a.bc.def.ghij.".split('.') != ['a', 'bc', 'def', 'ghij', '']:
+	print "split() failed!"
+	failures = failures+1
+
+if "..a.bc.def.ghij.".split('.') != ['', '', 'a', 'bc', 'def', 'ghij', '']:
+	print "split() failed!"
+	failures = failures+1
+
+if "a.bc.def.ghij".split('a') != ['', '.bc.def.ghij']:
+	print "split() failed!"
+	failures = failures+1
+
+if "a.ab.abc.abcd".split('a') != ['', '.', 'b.', 'bc.', 'bcd']:
+	print "split() failed!"
+	failures = failures+1
+
+if ".a.ab.abc.abcd".split('a') != ['.', '.', 'b.', 'bc.', 'bcd']:
+	print "split() failed!"
+	failures = failures+1
+
+if ".a.ab.abc.abcd.".split('a') != ['.', '.', 'b.', 'bc.', 'bcd.']:
+	print "split() failed!"
+	failures = failures+1
+
+if "aaaaabaacaadaaaaabaacaad".split("aab") != ["aaa","aacaadaaa","aacaad"]:
+	print "split() failed!"
+	failures = failures+1
+
+if "aaaaabaacaadaaaaabaacaad".find("aab",0) != 3:
+	print "split() failed!"
+	failures = failures+1
+
 s = "%d" % 3333
 
 if s != '3333': 
 	print 'error 2'
 	print s
+	failures = failures+1
+
+if failures==0:
+	print '\nall tests passed\n'
+else:
+	print "%d failure(s) occurred!\n"%failures
 	Sys.exit(1)
-	
-print '\nall tests passed\n'
-