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