debug_test.go (1041B)
1 package state 2 3 import ( 4 "fmt" 5 "testing" 6 ) 7 8 func TestDebugFlagDenied(t *testing.T) { 9 err := FlagDebugger.Register(7, "foo") 10 if err == nil { 11 t.Fatalf("expected error") 12 } 13 } 14 15 func TestDebugFlagString(t *testing.T) { 16 err := FlagDebugger.Register(8, "FOO") 17 if err != nil { 18 t.Fatal(err) 19 } 20 err = FlagDebugger.Register(9, "BAR") 21 if err != nil { 22 t.Fatal(err) 23 } 24 err = FlagDebugger.Register(11, "BAZ") 25 if err != nil { 26 t.Fatal(err) 27 } 28 flags := []byte{0x06, 0x09} 29 r := FlagDebugger.AsString(flags, 4) 30 expect := "INTERNAL_INMATCH(1),INTERNAL_TERMINATE(2),FOO(8),BAZ(11)" 31 if r != expect { 32 t.Fatalf("expected '%s', got '%s'", expect, r) 33 } 34 } 35 36 func TestDebugState(t *testing.T) { 37 err := FlagDebugger.Register(8, "FOO") 38 if err != nil { 39 t.Fatal(err) 40 } 41 st := NewState(1).WithDebug() 42 st.SetFlag(FLAG_DIRTY) 43 st.SetFlag(8) 44 st.Down("root") 45 46 r := fmt.Sprintf("%s", st) 47 expect := "moves: 1 idx: 0 flags: INTERNAL_DIRTY(3),FOO(8) path: root lang: (default)" 48 if r != expect { 49 t.Fatalf("expected '%s', got '%s'", expect, r) 50 } 51 }