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) } }