@@ -756,6 +756,7 @@ class mydialect(csv.Dialect):
756756 lineterminator = '\r \n '
757757 quoting = csv .QUOTE_NONE
758758 d = mydialect ()
759+ self .assertEqual (d .quoting , csv .QUOTE_NONE )
759760
760761 mydialect .quoting = None
761762 self .assertRaises (csv .Error , mydialect )
@@ -764,12 +765,21 @@ class mydialect(csv.Dialect):
764765 mydialect .quoting = csv .QUOTE_ALL
765766 mydialect .quotechar = '"'
766767 d = mydialect ()
768+ self .assertEqual (d .quoting , csv .QUOTE_ALL )
769+ self .assertEqual (d .quotechar , '"' )
770+ self .assertTrue (d .doublequote )
767771
768772 mydialect .quotechar = "''"
769- self .assertRaises (csv .Error , mydialect )
773+ with self .assertRaises (csv .Error ) as cm :
774+ mydialect ()
775+ self .assertEqual (str (cm .exception ),
776+ '"quotechar" must be an 1-character string' )
770777
771778 mydialect .quotechar = 4
772- self .assertRaises (csv .Error , mydialect )
779+ with self .assertRaises (csv .Error ) as cm :
780+ mydialect ()
781+ self .assertEqual (str (cm .exception ),
782+ '"quotechar" must be string, not int' )
773783
774784 def test_delimiter (self ):
775785 class mydialect (csv .Dialect ):
@@ -780,12 +790,31 @@ class mydialect(csv.Dialect):
780790 lineterminator = '\r \n '
781791 quoting = csv .QUOTE_NONE
782792 d = mydialect ()
793+ self .assertEqual (d .delimiter , ";" )
783794
784795 mydialect .delimiter = ":::"
785- self .assertRaises (csv .Error , mydialect )
796+ with self .assertRaises (csv .Error ) as cm :
797+ mydialect ()
798+ self .assertEqual (str (cm .exception ),
799+ '"delimiter" must be an 1-character string' )
800+
801+ mydialect .delimiter = ""
802+ with self .assertRaises (csv .Error ) as cm :
803+ mydialect ()
804+ self .assertEqual (str (cm .exception ),
805+ '"delimiter" must be an 1-character string' )
806+
807+ mydialect .delimiter = b","
808+ with self .assertRaises (csv .Error ) as cm :
809+ mydialect ()
810+ self .assertEqual (str (cm .exception ),
811+ '"delimiter" must be string, not bytes' )
786812
787813 mydialect .delimiter = 4
788- self .assertRaises (csv .Error , mydialect )
814+ with self .assertRaises (csv .Error ) as cm :
815+ mydialect ()
816+ self .assertEqual (str (cm .exception ),
817+ '"delimiter" must be string, not int' )
789818
790819 def test_lineterminator (self ):
791820 class mydialect (csv .Dialect ):
@@ -796,12 +825,17 @@ class mydialect(csv.Dialect):
796825 lineterminator = '\r \n '
797826 quoting = csv .QUOTE_NONE
798827 d = mydialect ()
828+ self .assertEqual (d .lineterminator , '\r \n ' )
799829
800830 mydialect .lineterminator = ":::"
801831 d = mydialect ()
832+ self .assertEqual (d .lineterminator , ":::" )
802833
803834 mydialect .lineterminator = 4
804- self .assertRaises (csv .Error , mydialect )
835+ with self .assertRaises (csv .Error ) as cm :
836+ mydialect ()
837+ self .assertEqual (str (cm .exception ),
838+ '"lineterminator" must be a string' )
805839
806840
807841class TestSniffer (unittest .TestCase ):
0 commit comments