Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
AsterDY committed Mar 13, 2024
1 parent f012a24 commit 69959f0
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 63 deletions.
68 changes: 65 additions & 3 deletions ast/api_native_test.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// +build amd64,go1.16,!go1.23
//go:build (amd64 && go1.16 && !go1.23) || (arm64 && go1.20 && !go1.23)
// +build amd64,go1.16,!go1.23 arm64,go1.20,!go1.23

/*
* Copyright 2022 ByteDance Inc.
Expand Down Expand Up @@ -117,7 +118,7 @@ func TestTypeCast2(t *testing.T) {
if len(rets) != 2 {
t.Fatal(i, rets)
}
require.Equal(t, rets[0].Interface(), c.exp)
require.Equal(t, c.exp, rets[0].Interface())
v := rets[1].Interface();
if v != c.err {
t.Fatal(i, v)
Expand All @@ -140,4 +141,65 @@ func TestStackAny(t *testing.T) {
if string(buf) != "1" {
t.Fatal(string(buf))
}
}
}


func Test_Export(t *testing.T) {
type args struct {
src string
path []interface{}
}
tests := []struct {
name string
args args
wantStart int
wantEnd int
wantTyp int
wantErr bool
wantValid bool
}{
{"bool", args{`[true ,2]`, []interface{}{0}}, 1, 5, V_TRUE, false, true},
{"bool", args{`[t2ue ,2]`, []interface{}{0}}, 1, 5, V_TRUE, false, false},
{"number", args{`[1 ,2]`, []interface{}{0}}, 1, 2, V_NUMBER, false, true},
{"number", args{`[1w ,2]`, []interface{}{0}}, 1, 3, V_NUMBER, false, false},
{"string", args{`[" " ,2]`, []interface{}{0}}, 1, 4, V_STRING, false, true},
{"string", args{`[" "] ,2]`, []interface{}{0}}, 1, 4, V_STRING, false, true},
{"object", args{`[{"":""} ,2]`, []interface{}{0}}, 1, 8, V_OBJECT, false, true},
{"object", args{`[{x} ,2]`, []interface{}{0}}, 1, 4, V_OBJECT, false, false},
{"arrauy", args{`[[{}] ,2]`, []interface{}{0}}, 1, 5, V_ARRAY, false, true},
{"arrauy", args{`[[xx] ,2]`, []interface{}{0}}, 1, 5, V_ARRAY, false, false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
gotStart, gotEnd, gotTyp, err := _GetByPath(tt.args.src, tt.args.path...)
if (err != nil) != tt.wantErr {
t.Errorf("_GetByPath() error = %v, wantErr %v", err, tt.wantErr)
return
}
if gotStart != tt.wantStart {
t.Errorf("_GetByPath() gotStart = %v, want %v", gotStart, tt.wantStart)
}
if gotEnd != tt.wantEnd {
t.Errorf("_GetByPath() gotEnd = %v, want %v", gotEnd, tt.wantEnd)
}
if gotTyp != tt.wantTyp {
t.Errorf("_GetByPath() gotTyp = %v, want %v", gotTyp, tt.wantTyp)
}
gotStart, gotEnd, err = _SkipFast(tt.args.src, tt.wantStart)
if (err != nil) != tt.wantErr {
t.Errorf("_SkipFast() error = %v, wantErr %v", err, tt.wantErr)
return
}
if gotStart != tt.wantStart {
t.Errorf("_SkipFast() gotStart = %v, want %v", gotStart, tt.wantStart)
}
if gotEnd != tt.wantEnd {
t.Errorf("_SkipFast() gotEnd = %v, want %v", gotEnd, tt.wantEnd)
}
valid := _ValidSyntax(tt.args.src[tt.wantStart:tt.wantEnd])
if valid != tt.wantValid {
t.Errorf("_ValidSyntax() gotValid = %v, want %v", valid, tt.wantValid)
}
})
}
}
60 changes: 0 additions & 60 deletions ast/search_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -409,63 +409,3 @@ func BenchmarkSetOne_Parallel_Sonic(b *testing.B) {
}
})
}

func Test_Export(t *testing.T) {
type args struct {
src string
path []interface{}
}
tests := []struct {
name string
args args
wantStart int
wantEnd int
wantTyp int
wantErr bool
wantValid bool
}{
{"bool", args{`[true ,2]`, []interface{}{0}}, 1, 5, V_TRUE, false, true},
{"bool", args{`[t2ue ,2]`, []interface{}{0}}, 1, 5, V_TRUE, false, false},
{"number", args{`[1 ,2]`, []interface{}{0}}, 1, 2, V_NUMBER, false, true},
{"number", args{`[1w ,2]`, []interface{}{0}}, 1, 3, V_NUMBER, false, false},
{"string", args{`[" " ,2]`, []interface{}{0}}, 1, 4, V_STRING, false, true},
{"string", args{`[" "] ,2]`, []interface{}{0}}, 1, 4, V_STRING, false, true},
{"object", args{`[{"":""} ,2]`, []interface{}{0}}, 1, 8, V_OBJECT, false, true},
{"object", args{`[{x} ,2]`, []interface{}{0}}, 1, 4, V_OBJECT, false, false},
{"arrauy", args{`[[{}] ,2]`, []interface{}{0}}, 1, 5, V_ARRAY, false, true},
{"arrauy", args{`[[xx] ,2]`, []interface{}{0}}, 1, 5, V_ARRAY, false, false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
gotStart, gotEnd, gotTyp, err := _GetByPath(tt.args.src, tt.args.path...)
if (err != nil) != tt.wantErr {
t.Errorf("_GetByPath() error = %v, wantErr %v", err, tt.wantErr)
return
}
if gotStart != tt.wantStart {
t.Errorf("_GetByPath() gotStart = %v, want %v", gotStart, tt.wantStart)
}
if gotEnd != tt.wantEnd {
t.Errorf("_GetByPath() gotEnd = %v, want %v", gotEnd, tt.wantEnd)
}
if gotTyp != tt.wantTyp {
t.Errorf("_GetByPath() gotTyp = %v, want %v", gotTyp, tt.wantTyp)
}
gotStart, gotEnd, err = _SkipFast(tt.args.src, tt.wantStart)
if (err != nil) != tt.wantErr {
t.Errorf("_SkipFast() error = %v, wantErr %v", err, tt.wantErr)
return
}
if gotStart != tt.wantStart {
t.Errorf("_SkipFast() gotStart = %v, want %v", gotStart, tt.wantStart)
}
if gotEnd != tt.wantEnd {
t.Errorf("_SkipFast() gotEnd = %v, want %v", gotEnd, tt.wantEnd)
}
valid := _ValidSyntax(tt.args.src[tt.wantStart:tt.wantEnd])
if valid != tt.wantValid {
t.Errorf("_ValidSyntax() gotValid = %v, want %v", valid, tt.wantValid)
}
})
}
}

0 comments on commit 69959f0

Please sign in to comment.