コード例 #1
0
ファイル: sanitize_test.go プロジェクト: crufter/sanitize
func TestEq(t *testing.T) {
	dat := map[string]interface{}{
		"a": "example1234",
	}
	scheme := map[string]interface{}{
		"a": map[string]interface{}{
			"type":  "eq",
			"value": "example123",
			"must":  true,
		},
	}
	res, err := sanitize.Fast(scheme, dat)
	if err == nil {
		t.Fatal()
	}
	dat1 := map[string]interface{}{
		"a": "example123",
	}
	res, err = sanitize.Fast(scheme, dat1)
	if err != nil {
		t.Fatal(err)
	}
	if res["a"] != "example123" {
		t.Fatal(res["a"])
	}
}
コード例 #2
0
ファイル: highlev.go プロジェクト: crufter/nocrud
func (h *HighLev) userChecks(user iface.User) error {
	verbSpec, ok := jsonp.GetM(h.nouns, fmt.Sprint("%v.verbs.%v.userCrit", h.desc.Sentence.Noun, h.desc.Sentence.Verb))
	if ok {
		_, err := sanitize.Fast(verbSpec, user.Data())
		return err
	}
	nounSpec, ok := jsonp.GetM(h.nouns, fmt.Sprintf("%v.userCrit", h.desc.Sentence.Noun))
	if !ok {
		return nil
	}
	_, err := sanitize.Fast(nounSpec, user.Data())
	return err
}
コード例 #3
0
ファイル: sanitize_test.go プロジェクト: crufter/sanitize
func TestAnySlice(t *testing.T) {
	dat := map[string]interface{}{
		"a": []interface{}{1, 2, 3},
	}
	scheme := map[string]interface{}{
		"a": map[string]interface{}{
			"type":  "any",
			"slice": true,
			"must":  true,
		},
	}
	res, err := sanitize.Fast(scheme, dat)
	if err != nil {
		t.Fatal(err)
	}
	if len(res["a"].([]interface{})) != 3 {
		t.Fatal(res)
	}
}