x/model: test UnmarshalText safe copy
This commit is contained in:
parent
ab9e476551
commit
a292cde2f3
@ -56,3 +56,28 @@ func TestDigestString(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDigestUnmarshalText(t *testing.T) {
|
||||||
|
const testDigest = "sha256-1234"
|
||||||
|
t.Run("UnmarshalText (into Valid)", func(t *testing.T) {
|
||||||
|
d := ParseDigest(testDigest)
|
||||||
|
if !d.IsValid() {
|
||||||
|
panic("invalid test")
|
||||||
|
}
|
||||||
|
if err := d.UnmarshalText(nil); err == nil {
|
||||||
|
t.Errorf("UnmarshalText on valid Digest did not return error")
|
||||||
|
}
|
||||||
|
if d.String() != testDigest {
|
||||||
|
t.Errorf("UnmarshalText on valid Digest changed Digest: %q", d.String())
|
||||||
|
}
|
||||||
|
})
|
||||||
|
t.Run("UnmarshalText make safe copy", func(t *testing.T) {
|
||||||
|
data := []byte(testDigest)
|
||||||
|
var d Digest
|
||||||
|
d.UnmarshalText(data)
|
||||||
|
data[0] = 'x'
|
||||||
|
if d.String() != testDigest {
|
||||||
|
t.Errorf("UnmarshalText did not make a safe copy")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -443,6 +443,19 @@ func TestNameTextMarshal(t *testing.T) {
|
|||||||
t.Errorf("MarshalText allocs = %v; want <= 1", allocs)
|
t.Errorf("MarshalText allocs = %v; want <= 1", allocs)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
t.Run("UnmarshalTest makes safe copy", func(t *testing.T) {
|
||||||
|
// UnmarshalText should make a copy of the data.
|
||||||
|
data := []byte("mistral:latest+Q4_0")
|
||||||
|
p := Name{}
|
||||||
|
if err := p.UnmarshalText(data); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
data[0] = 'x'
|
||||||
|
if p.String() != "mistral:latest+Q4_0" {
|
||||||
|
t.Errorf("UnmarshalText() did not make a copy")
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSQL(t *testing.T) {
|
func TestSQL(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user