69ed8639cd
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
70 lines
1.1 KiB
Go
70 lines
1.1 KiB
Go
package dbus
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
var sigTests = []struct {
|
|
vs []interface{}
|
|
sig Signature
|
|
}{
|
|
{
|
|
[]interface{}{new(int32)},
|
|
Signature{"i"},
|
|
},
|
|
{
|
|
[]interface{}{new(string)},
|
|
Signature{"s"},
|
|
},
|
|
{
|
|
[]interface{}{new(Signature)},
|
|
Signature{"g"},
|
|
},
|
|
{
|
|
[]interface{}{new([]int16)},
|
|
Signature{"an"},
|
|
},
|
|
{
|
|
[]interface{}{new(int16), new(uint32)},
|
|
Signature{"nu"},
|
|
},
|
|
{
|
|
[]interface{}{new(map[byte]Variant)},
|
|
Signature{"a{yv}"},
|
|
},
|
|
{
|
|
[]interface{}{new(Variant), new([]map[int32]string)},
|
|
Signature{"vaa{is}"},
|
|
},
|
|
}
|
|
|
|
func TestSig(t *testing.T) {
|
|
for i, v := range sigTests {
|
|
sig := SignatureOf(v.vs...)
|
|
if sig != v.sig {
|
|
t.Errorf("test %d: got %q, expected %q", i+1, sig.str, v.sig.str)
|
|
}
|
|
}
|
|
}
|
|
|
|
var getSigTest = []interface{}{
|
|
[]struct {
|
|
b byte
|
|
i int32
|
|
t uint64
|
|
s string
|
|
}{},
|
|
map[string]Variant{},
|
|
}
|
|
|
|
func BenchmarkGetSignatureSimple(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
SignatureOf("", int32(0))
|
|
}
|
|
}
|
|
|
|
func BenchmarkGetSignatureLong(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
SignatureOf(getSigTest...)
|
|
}
|
|
}
|