forked from security/hakurei
internal/pipewire: implement string type
This is still NUL terminated strings, and an extra NUL character on an 8-byte string does cause an extra 7 bytes of padding. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -2,6 +2,7 @@ package pipewire_test
|
||||
|
||||
import (
|
||||
"encoding"
|
||||
"encoding/json"
|
||||
"reflect"
|
||||
"testing"
|
||||
)
|
||||
@@ -37,7 +38,7 @@ func (testCases encodingTestCases[V, S]) run(t *testing.T) {
|
||||
t.Fatalf("UnmarshalBinary: error = %v", err)
|
||||
}
|
||||
if !reflect.DeepEqual(&value, &tc.value) {
|
||||
t.Fatalf("UnmarshalBinary: %#v, want %#v", value, tc.value)
|
||||
t.Fatalf("UnmarshalBinary:\n%s\nwant\n%s", mustMarshalJSON(value), mustMarshalJSON(tc.value))
|
||||
}
|
||||
})
|
||||
|
||||
@@ -53,3 +54,12 @@ func (testCases encodingTestCases[V, S]) run(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// mustMarshalJSON calls [json.Marshal] and returns the result.
|
||||
func mustMarshalJSON(v any) string {
|
||||
if data, err := json.Marshal(v); err != nil {
|
||||
panic(err)
|
||||
} else {
|
||||
return string(data)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user