package core import ( "reflect" "testing" ) func TestRegister(t *testing.T) { directives := []directive{ {"dummy", nil}, {"dummy2", nil}, } directiveOrder = directives RegisterDirective("foo", nil, "dummy") if len(directiveOrder) != 3 { t.Fatal("Should have 3 directives now") } getNames := func() (s []string) { for _, d := range directiveOrder { s = append(s, d.name) } return s } if !reflect.DeepEqual(getNames(), []string{"dummy", "foo", "dummy2"}) { t.Fatalf("directive order doesn't match: %s", getNames()) } RegisterDirective("bar", nil, "ASDASD") if !reflect.DeepEqual(getNames(), []string{"dummy", "foo", "dummy2", "bar"}) { t.Fatalf("directive order doesn't match: %s", getNames()) } }