ascii_test.go 1016 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package term
  2. import "testing"
  3. func TestToBytes(t *testing.T) {
  4. codes, err := ToBytes("ctrl-a,a")
  5. if err != nil {
  6. t.Fatal(err)
  7. }
  8. if len(codes) != 2 {
  9. t.Fatalf("Expected 2 codes, got %d", len(codes))
  10. }
  11. if codes[0] != 1 || codes[1] != 97 {
  12. t.Fatalf("Expected '1' '97', got '%d' '%d'", codes[0], codes[1])
  13. }
  14. codes, err = ToBytes("shift-z")
  15. if err == nil {
  16. t.Fatalf("Expected error, got none")
  17. }
  18. codes, err = ToBytes("ctrl-@,ctrl-[,~,ctrl-o")
  19. if err != nil {
  20. t.Fatal(err)
  21. }
  22. if len(codes) != 4 {
  23. t.Fatalf("Expected 4 codes, got %d", len(codes))
  24. }
  25. if codes[0] != 0 || codes[1] != 27 || codes[2] != 126 || codes[3] != 15 {
  26. t.Fatalf("Expected '0' '27' '126', '15', got '%d' '%d' '%d' '%d'", codes[0], codes[1], codes[2], codes[3])
  27. }
  28. codes, err = ToBytes("DEL,+")
  29. if err != nil {
  30. t.Fatal(err)
  31. }
  32. if len(codes) != 2 {
  33. t.Fatalf("Expected 2 codes, got %d", len(codes))
  34. }
  35. if codes[0] != 127 || codes[1] != 43 {
  36. t.Fatalf("Expected '127 '43'', got '%d' '%d'", codes[0], codes[1])
  37. }
  38. }