[Python-checkins] python/nondist/sandbox/csv/test test_csv.py,1.34,1.35
montanaro@users.sourceforge.net
montanaro@users.sourceforge.net
Wed, 26 Feb 2003 12:59:32 -0800
Update of /cvsroot/python/python/nondist/sandbox/csv/test
In directory sc8-pr-cvs1:/tmp/cvs-serv23054
Modified Files:
test_csv.py
Log Message:
add unit tests for dialect validity
Index: test_csv.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/csv/test/test_csv.py,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** test_csv.py 15 Feb 2003 00:52:11 -0000 1.34
--- test_csv.py 26 Feb 2003 20:59:29 -0000 1.35
***************
*** 460,466 ****
--- 460,533 ----
self.assertEqual(fileobj.getvalue(), expected)
+ class TestDialectValidity(unittest.TestCase):
+ def test_quoting(self):
+ class mydialect(csv.Dialect):
+ delimiter = ";"
+ escapechar = '\\'
+ doublequote = False
+ skipinitialspace = True
+ lineterminator = '\r\n'
+ quoting = csv.QUOTE_NONE
+ d = mydialect()
+
+ mydialect.quoting = None
+ self.assertRaises(csv.Error, mydialect)
+
+ mydialect.quoting = csv.QUOTE_NONE
+ mydialect.escapechar = None
+ self.assertRaises(csv.Error, mydialect)
+
+ mydialect.doublequote = True
+ mydialect.quoting = csv.QUOTE_ALL
+ mydialect.quotechar = '"'
+ d = mydialect()
+
+ mydialect.quotechar = "''"
+ self.assertRaises(csv.Error, mydialect)
+
+ mydialect.quotechar = 4
+ self.assertRaises(csv.Error, mydialect)
+
+ def test_delimiter(self):
+ class mydialect(csv.Dialect):
+ delimiter = ";"
+ escapechar = '\\'
+ doublequote = False
+ skipinitialspace = True
+ lineterminator = '\r\n'
+ quoting = csv.QUOTE_NONE
+ d = mydialect()
+
+ mydialect.delimiter = ":::"
+ self.assertRaises(csv.Error, mydialect)
+
+ mydialect.delimiter = 4
+ self.assertRaises(csv.Error, mydialect)
+
+ def test_lineterminator(self):
+ class mydialect(csv.Dialect):
+ delimiter = ";"
+ escapechar = '\\'
+ doublequote = False
+ skipinitialspace = True
+ lineterminator = '\r\n'
+ quoting = csv.QUOTE_NONE
+ d = mydialect()
+
+ mydialect.lineterminator = ":::"
+ d = mydialect()
+
+ mydialect.lineterminator = 4
+ self.assertRaises(csv.Error, mydialect)
+
+
if not hasattr(sys, "gettotalrefcount"):
print "*** skipping leakage tests ***"
else:
+ class NUL:
+ def write(s, *args):
+ pass
+ writelines = write
+
class TestLeaks(unittest.TestCase):
def test_create_read(self):
***************
*** 482,486 ****
delta = 0
lastrc = sys.gettotalrefcount()
! s = StringIO()
for i in xrange(20):
gc.collect()
--- 549,553 ----
delta = 0
lastrc = sys.gettotalrefcount()
! s = NUL()
for i in xrange(20):
gc.collect()
***************
*** 514,520 ****
delta = 0
rows = [[1,2,3]]*5
- class NUL:
- def write(s, *args):
- pass
s = NUL()
lastrc = sys.gettotalrefcount()
--- 581,584 ----