| 1234567891011121314151617181920212223242526272829303132333435363738 |
- package tgbot
- import (
- "os"
- "strings"
- "testing"
- )
- func TestUpdateNumericInput(t *testing.T) {
- tests := []struct {
- name string
- value, key int
- want int
- }{
- {name: "append digit", value: 12, key: 3, want: 123},
- {name: "append zero", value: 12, key: 0, want: 120},
- {name: "backspace", value: 123, key: -1, want: 12},
- {name: "backspace zero", value: 0, key: -1, want: 0},
- {name: "clear", value: 123, key: -2, want: 0},
- }
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- if got := updateNumericInput(tt.value, tt.key); got != tt.want {
- t.Fatalf("updateNumericInput(%d, %d) = %d, want %d", tt.value, tt.key, got, tt.want)
- }
- })
- }
- }
- func TestNumericInputTransitionIsUsedByEveryKeypad(t *testing.T) {
- source, err := os.ReadFile("tgbot_router.go")
- if err != nil {
- t.Fatalf("read tgbot_router.go: %v", err)
- }
- if got := strings.Count(string(source), "updateNumericInput("); got != 6 {
- t.Fatalf("numeric keypad transition call sites = %d, want 6", got)
- }
- }
|