@@ -747,6 +747,7 @@ class mydialect(csv.Dialect):
747747 lineterminator = '\r \n '
748748 quoting = csv .QUOTE_NONE
749749 d = mydialect ()
750+ self .assertEqual (d .quoting , csv .QUOTE_NONE )
750751
751752 mydialect .quoting = None
752753 self .assertRaises (csv .Error , mydialect )
@@ -755,12 +756,21 @@ class mydialect(csv.Dialect):
755756 mydialect .quoting = csv .QUOTE_ALL
756757 mydialect .quotechar = '"'
757758 d = mydialect ()
759+ self .assertEqual (d .quoting , csv .QUOTE_ALL )
760+ self .assertEqual (d .quotechar , '"' )
761+ self .assertTrue (d .doublequote )
758762
759763 mydialect .quotechar = "''"
760- self .assertRaises (csv .Error , mydialect )
764+ with self .assertRaises (csv .Error ) as cm :
765+ mydialect ()
766+ self .assertEqual (str (cm .exception ),
767+ '"quotechar" must be an 1-character string' )
761768
762769 mydialect .quotechar = 4
763- self .assertRaises (csv .Error , mydialect )
770+ with self .assertRaises (csv .Error ) as cm :
771+ mydialect ()
772+ self .assertEqual (str (cm .exception ),
773+ '"quotechar" must be string, not int' )
764774
765775 def test_delimiter (self ):
766776 class mydialect (csv .Dialect ):
@@ -771,12 +781,31 @@ class mydialect(csv.Dialect):
771781 lineterminator = '\r \n '
772782 quoting = csv .QUOTE_NONE
773783 d = mydialect ()
784+ self .assertEqual (d .delimiter , ";" )
774785
775786 mydialect .delimiter = ":::"
776- self .assertRaises (csv .Error , mydialect )
787+ with self .assertRaises (csv .Error ) as cm :
788+ mydialect ()
789+ self .assertEqual (str (cm .exception ),
790+ '"delimiter" must be an 1-character string' )
791+
792+ mydialect .delimiter = ""
793+ with self .assertRaises (csv .Error ) as cm :
794+ mydialect ()
795+ self .assertEqual (str (cm .exception ),
796+ '"delimiter" must be an 1-character string' )
797+
798+ mydialect .delimiter = b","
799+ with self .assertRaises (csv .Error ) as cm :
800+ mydialect ()
801+ self .assertEqual (str (cm .exception ),
802+ '"delimiter" must be string, not bytes' )
777803
778804 mydialect .delimiter = 4
779- self .assertRaises (csv .Error , mydialect )
805+ with self .assertRaises (csv .Error ) as cm :
806+ mydialect ()
807+ self .assertEqual (str (cm .exception ),
808+ '"delimiter" must be string, not int' )
780809
781810 def test_lineterminator (self ):
782811 class mydialect (csv .Dialect ):
@@ -787,12 +816,17 @@ class mydialect(csv.Dialect):
787816 lineterminator = '\r \n '
788817 quoting = csv .QUOTE_NONE
789818 d = mydialect ()
819+ self .assertEqual (d .lineterminator , '\r \n ' )
790820
791821 mydialect .lineterminator = ":::"
792822 d = mydialect ()
823+ self .assertEqual (d .lineterminator , ":::" )
793824
794825 mydialect .lineterminator = 4
795- self .assertRaises (csv .Error , mydialect )
826+ with self .assertRaises (csv .Error ) as cm :
827+ mydialect ()
828+ self .assertEqual (str (cm .exception ),
829+ '"lineterminator" must be a string' )
796830
797831
798832class TestSniffer (unittest .TestCase ):
0 commit comments