diff options
Diffstat (limited to 'cmd/binapi-generator/parse_test.go')
-rw-r--r-- | cmd/binapi-generator/parse_test.go | 63 |
1 files changed, 46 insertions, 17 deletions
diff --git a/cmd/binapi-generator/parse_test.go b/cmd/binapi-generator/parse_test.go index ea15ec5..e145979 100644 --- a/cmd/binapi-generator/parse_test.go +++ b/cmd/binapi-generator/parse_test.go @@ -32,34 +32,63 @@ func TestSizeOfType(t *testing.T) { input Type expsize int }{ - {name: "basic1", - input: Type{Fields: []Field{ - {Type: "u8"}, - }}, + { + name: "basic1", + input: Type{ + Fields: []Field{ + {Type: "u8"}, + }, + }, expsize: 1, }, - {name: "basic2", - input: Type{Fields: []Field{ - {Type: "u8", Length: 4}, - }}, + { + name: "basic2", + input: Type{ + Fields: []Field{ + {Type: "u8", Length: 4}, + }, + }, expsize: 4, }, - {name: "basic3", - input: Type{Fields: []Field{ - {Type: "u8", Length: 16}, - }}, + { + name: "basic3", + input: Type{ + Fields: []Field{ + {Type: "u8", Length: 16}, + }, + }, expsize: 16, }, - {name: "invalid1", - input: Type{Fields: []Field{ - {Type: "x", Length: 16}, - }}, + { + name: "withEnum", + input: Type{ + Fields: []Field{ + {Type: "u16"}, + {Type: "vl_api_myenum_t"}, + }, + }, + expsize: 6, + }, + { + name: "invalid1", + input: Type{ + Fields: []Field{ + {Type: "x", Length: 16}, + }, + }, expsize: 0, }, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { - size := getSizeOfType(&test.input) + ctx := &context{ + packageData: &Package{ + Enums: []Enum{ + {Name: "myenum", Type: "u32"}, + }, + }, + } + size := getSizeOfType(ctx, &test.input) if size != test.expsize { t.Errorf("expected %d, got %d", test.expsize, size) } |