(t *testing.T)
| 453 | } |
| 454 | |
| 455 | func TestParserPing(t *testing.T) { |
| 456 | c := &Conn{} |
| 457 | c.newReaderWriter() |
| 458 | c.bw.switchToPending() |
| 459 | |
| 460 | c.ps = &parseState{} |
| 461 | |
| 462 | if c.ps.state != OP_START { |
| 463 | t.Fatalf("Expected OP_START vs %d\n", c.ps.state) |
| 464 | } |
| 465 | ping := []byte("PING\r\n") |
| 466 | err := c.parse(ping[:1]) |
| 467 | if err != nil || c.ps.state != OP_P { |
| 468 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 469 | } |
| 470 | err = c.parse(ping[1:2]) |
| 471 | if err != nil || c.ps.state != OP_PI { |
| 472 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 473 | } |
| 474 | err = c.parse(ping[2:3]) |
| 475 | if err != nil || c.ps.state != OP_PIN { |
| 476 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 477 | } |
| 478 | err = c.parse(ping[3:4]) |
| 479 | if err != nil || c.ps.state != OP_PING { |
| 480 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 481 | } |
| 482 | err = c.parse(ping[4:5]) |
| 483 | if err != nil || c.ps.state != OP_PING { |
| 484 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 485 | } |
| 486 | err = c.parse(ping[5:6]) |
| 487 | if err != nil || c.ps.state != OP_START { |
| 488 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 489 | } |
| 490 | err = c.parse(ping) |
| 491 | if err != nil || c.ps.state != OP_START { |
| 492 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 493 | } |
| 494 | // Should tolerate spaces |
| 495 | ping = []byte("PING \r") |
| 496 | err = c.parse(ping) |
| 497 | if err != nil || c.ps.state != OP_PING { |
| 498 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 499 | } |
| 500 | c.ps.state = OP_START |
| 501 | ping = []byte("PING \r \n") |
| 502 | err = c.parse(ping) |
| 503 | if err != nil || c.ps.state != OP_START { |
| 504 | t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err) |
| 505 | } |
| 506 | } |
| 507 | |
| 508 | func TestParserErr(t *testing.T) { |
| 509 | c := &Conn{} |
nothing calls this directly
no test coverage detected