[Python-checkins] CVS: distutils/test test_split.py,NONE,1.1

Greg Ward python-dev@python.org
2000年6月24日 13:41:13 -0700


Update of /cvsroot/python/distutils/test
In directory slayer.i.sourceforge.net:/tmp/cvs-serv28374
Added Files:
	test_split.py 
Log Message:
Test script for the 'split_quoted()' function.
--- NEW FILE ---
#!/usr/bin/env python
import string, re
from distutils.util import split_quoted
strings = [("foo bar baz", ['foo', 'bar', 'baz']),
 (" foo bar", ['foo', 'bar']),
 ("foo bar ", ['foo', 'bar']),
 ("foo bar", ['foo', 'bar']),
 ("\\ foo", [' foo']),
 ("foo \\ bar", ['foo', ' bar']),
 ("foo \\ bar", ['foo', ' ', 'bar']),
 ("foo", ['foo']),
 ("foo\\ bar", ['foo bar']),
 ("'foo bar'", ['foo bar']),
 ("foo 'bar baz'", ['foo', 'bar baz']),
 ('"foo bar" baz', ['foo bar', 'baz']),
 ('"hello there" "*"', ['hello there', '*']),
 ('ding" dong" dang', ['ding dong', 'dang']),
 ('foo""bar', ['foobar']),
 ('foo" "bar', ['foo bar']),
 ('foo\\" bar', ['foo\"', 'bar']),
 ('foo \\"bar', ['foo', '\"bar']),
 ('foo\\ \\"bar', ['foo \"bar']),
 ]
bad_strings = ["foo bar'",
 "'foo bar",
 "foo 'bar",
 'foo "bar',
 ]
for (s, words) in strings:
 got_split = split_quoted(s)
 if got_split == words:
 print "ok: %s -> %s" % (s, got_split)
 else:
 print "not ok: %s (expected %s, got %s)" % (s, words, got_split)
 #print "string to split: " + s
 #print "expect:", words
 #print "result:", split(s)
 #print "expect:", string.join(map(str, words), ", ")
 #print "result:", string.join(map(str, split(s)), ", ")
 #print
for s in bad_strings:
 try:
 words = split_quoted(s)
 except ValueError, msg:
 print "ok: %s raised ValueError: %s" % (s, msg)
 else:
 print "not ok: %s -> %s (expected ValueError)" % (s, words)

AltStyle によって変換されたページ (->オリジナル) /