blob: 95f1075eae601d5a2bb3487b040f493544f8a222 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package jsonutil
import (
"path/filepath"
"testing"
"github.com/google/go-cmp/cmp"
)
type testStruct struct {
Integer int `json:"integer"`
Str string `json:"str"`
}
func TestReadWriteRoundTrip(t *testing.T) {
original := []testStruct{
{Integer: 5, Str: "foo"},
{Integer: 6, Str: "bar"},
}
path := filepath.Join(t.TempDir(), "file.json")
if err := WriteToFile(path, original); err != nil {
t.Fatal(err)
}
var got []testStruct
if err := ReadFromFile(path, &got); err != nil {
t.Fatal(err)
}
if diff := cmp.Diff(original, got); diff != "" {
t.Fatalf("round-trip file read/write returned wrong JSON (-want +got):\n%s", diff)
}
}