(t *testing.T)
| 486 | } |
| 487 | |
| 488 | func TestParseDateTimeFail(t *testing.T) { |
| 489 | cases := []struct { |
| 490 | name string |
| 491 | str string |
| 492 | wantErr string |
| 493 | }{ |
| 494 | { |
| 495 | name: "parse invalid time", |
| 496 | str: "hello", |
| 497 | wantErr: "invalid time bytes: hello", |
| 498 | }, |
| 499 | { |
| 500 | name: "parse year", |
| 501 | str: "000!-00-00 00:00:00.000000", |
| 502 | wantErr: "not [0-9]", |
| 503 | }, |
| 504 | { |
| 505 | name: "parse month", |
| 506 | str: "0000-!0-00 00:00:00.000000", |
| 507 | wantErr: "not [0-9]", |
| 508 | }, |
| 509 | { |
| 510 | name: `parse "-" after parsed year`, |
| 511 | str: "0000:00-00 00:00:00.000000", |
| 512 | wantErr: "bad value for field: `:`", |
| 513 | }, |
| 514 | { |
| 515 | name: `parse "-" after parsed month`, |
| 516 | str: "0000-00:00 00:00:00.000000", |
| 517 | wantErr: "bad value for field: `:`", |
| 518 | }, |
| 519 | { |
| 520 | name: `parse " " after parsed date`, |
| 521 | str: "0000-00-00+00:00:00.000000", |
| 522 | wantErr: "bad value for field: `+`", |
| 523 | }, |
| 524 | { |
| 525 | name: `parse ":" after parsed date`, |
| 526 | str: "0000-00-00 00-00:00.000000", |
| 527 | wantErr: "bad value for field: `-`", |
| 528 | }, |
| 529 | { |
| 530 | name: `parse ":" after parsed hour`, |
| 531 | str: "0000-00-00 00:00-00.000000", |
| 532 | wantErr: "bad value for field: `-`", |
| 533 | }, |
| 534 | { |
| 535 | name: `parse "." after parsed sec`, |
| 536 | str: "0000-00-00 00:00:00?000000", |
| 537 | wantErr: "bad value for field: `?`", |
| 538 | }, |
| 539 | } |
| 540 | |
| 541 | for _, cc := range cases { |
| 542 | t.Run(cc.name, func(t *testing.T) { |
| 543 | got, err := parseDateTime([]byte(cc.str), time.UTC) |
| 544 | if err == nil { |
| 545 | t.Fatal("want error") |
nothing calls this directly
no test coverage detected