@@ -2405,6 +2405,45 @@ s,1,3.14,true
24052405 t .Log (e )
24062406 })
24072407 })
2408+
2409+ t .Run ("normalize header" , func (t * testing.T ) {
2410+ csvr := csv .NewReader (strings .NewReader ("STRING,INT\n first,1" ))
2411+ dec , err := NewDecoder (csvr )
2412+ if err != nil {
2413+ t .Fatalf ("want err == nil; got %v" , err )
2414+ }
2415+
2416+ if err := dec .NormalizeHeader (strings .ToLower ); err != nil {
2417+ t .Fatalf ("want err=nil; got %v" , err )
2418+ }
2419+
2420+ var data struct {
2421+ String string `csv:"string"`
2422+ Int int `csv:"int"`
2423+ }
2424+ if err := dec .Decode (& data ); err != nil {
2425+ t .Fatalf ("want err=nil; got %v" , err )
2426+ }
2427+
2428+ if data .String != "first" {
2429+ t .Errorf ("want String=first; got %s" , data .String )
2430+ }
2431+ if data .Int != 1 {
2432+ t .Errorf ("want Int=1; got %d" , data .Int )
2433+ }
2434+ })
2435+
2436+ t .Run ("normalize header - duplicate error" , func (t * testing.T ) {
2437+ csvr := csv .NewReader (strings .NewReader ("STRING,string\n first,1" ))
2438+ dec , err := NewDecoder (csvr )
2439+ if err != nil {
2440+ t .Fatalf ("want err == nil; got %v" , err )
2441+ }
2442+
2443+ if err := dec .NormalizeHeader (strings .ToLower ); err == nil {
2444+ t .Fatal ("want err not to be nil" )
2445+ }
2446+ })
24082447}
24092448
24102449func BenchmarkDecode (b * testing.B ) {
0 commit comments