go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

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 }