43 lines
921 B
Go
43 lines
921 B
Go
|
|
package mmkv
|
||
|
|
|
||
|
|
import (
|
||
|
|
"bytes"
|
||
|
|
"os"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func Test_loadMetadata(t *testing.T) {
|
||
|
|
file, err := os.Open("./testdata/mmkv.default.crc")
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
meta, err := loadMetadata(file)
|
||
|
|
if err != nil {
|
||
|
|
t.Fatal(err)
|
||
|
|
}
|
||
|
|
|
||
|
|
if meta.version != 3 {
|
||
|
|
t.Fatalf("version = %d, want 3", meta.version)
|
||
|
|
}
|
||
|
|
if meta.sequence != 1 {
|
||
|
|
t.Fatalf("sequence = %d, want 1", meta.sequence)
|
||
|
|
}
|
||
|
|
if meta.actualSize != 28 {
|
||
|
|
t.Fatalf("actualSize = %d, want 28", meta.actualSize)
|
||
|
|
}
|
||
|
|
if meta.crc32 != 197326043 {
|
||
|
|
t.Fatalf("crc32 = %d, want 197326043", meta.crc32)
|
||
|
|
}
|
||
|
|
if meta.lastActualSize != 4 {
|
||
|
|
t.Fatalf("lastActualSize = %d, want 4", meta.lastActualSize)
|
||
|
|
}
|
||
|
|
if meta.lastCRC32 != 1285129681 {
|
||
|
|
t.Fatalf("lastCRC32 = %d, want 1285129681", meta.lastCRC32)
|
||
|
|
}
|
||
|
|
wantIV := bytes.Repeat([]byte{0x00}, 16)
|
||
|
|
if !bytes.Equal(meta.aesVector, wantIV) {
|
||
|
|
t.Fatalf("aesVector = %v, want zeros", meta.aesVector)
|
||
|
|
}
|
||
|
|
}
|