|
1 | 1 | package pop3 |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "log" |
4 | 5 | "math" |
5 | 6 | "os" |
6 | 7 | "strconv" |
@@ -492,3 +493,59 @@ func TestRset(t *testing.T) { |
492 | 493 | t.Errorf("expected prefix: %s, got: %s", ok, r) |
493 | 494 | } |
494 | 495 | } |
| 496 | + |
| 497 | +func TestTopNegativeMsgNum(t *testing.T) { |
| 498 | + exp := "-ERR message number should be greater than 0" |
| 499 | + pop, err := Connect(gmailTLSAddr, nil, true) |
| 500 | + if err != nil { |
| 501 | + t.Errorf(err.Error()) |
| 502 | + } |
| 503 | + log.Println("Connection established") |
| 504 | + |
| 505 | + msgNum := -1 |
| 506 | + top, err := pop.Top(msgNum, 10) |
| 507 | + if top != nil { |
| 508 | + t.Errorf("need to be nil") |
| 509 | + } |
| 510 | + if !strings.HasPrefix(err.Error(), exp) { |
| 511 | + t.Errorf(err.Error()) |
| 512 | + } |
| 513 | + log.Println(err.Error()) |
| 514 | + |
| 515 | + quit, err := pop.Quit() |
| 516 | + if err != nil { |
| 517 | + t.Errorf(err.Error()) |
| 518 | + } |
| 519 | + if !strings.HasPrefix(quit, ok) { |
| 520 | + t.Errorf(quit) |
| 521 | + } |
| 522 | + log.Println("Connection closed") |
| 523 | +} |
| 524 | + |
| 525 | +func TestTopNegativeN(t *testing.T) { |
| 526 | + exp := "-ERR line count cannot be negative" |
| 527 | + pop, err := Connect(gmailTLSAddr, nil, true) |
| 528 | + if err != nil { |
| 529 | + t.Errorf(err.Error()) |
| 530 | + } |
| 531 | + log.Println("Connection established") |
| 532 | + |
| 533 | + n := -1 |
| 534 | + top, err := pop.Top(1, n) |
| 535 | + if top != nil { |
| 536 | + t.Errorf("need to be nil") |
| 537 | + } |
| 538 | + if !strings.HasPrefix(err.Error(), exp) { |
| 539 | + t.Errorf(err.Error()) |
| 540 | + } |
| 541 | + log.Println(err.Error()) |
| 542 | + |
| 543 | + quit, err := pop.Quit() |
| 544 | + if err != nil { |
| 545 | + t.Errorf(err.Error()) |
| 546 | + } |
| 547 | + if !strings.HasPrefix(quit, ok) { |
| 548 | + t.Errorf(quit) |
| 549 | + } |
| 550 | + log.Println("Connection closed") |
| 551 | +} |
0 commit comments