// SPDX-FileCopyrightText: 2021 Luke Granger-Brown // // SPDX-License-Identifier: Apache-2.0 package hashfs import ( "testing" "testing/fstest" ) func TestHashingFS(t *testing.T) { baseFS := fstest.MapFS{ "foo": &fstest.MapFile{ Data: []byte("hello, world"), }, "bar/bar.txt": &fstest.MapFile{ Data: []byte("foo bar baz"), }, } f := New(baseFS) tcs := []struct { origName string newName string wantContent string }{ {"foo", "foo.68656c6c6f2c", "hello, world"}, {"bar/bar.txt", "bar/bar.666f6f206261.txt", "foo bar baz"}, } for _, tc := range tcs { t.Run(tc.origName, func(t *testing.T) { n, ok := f.LookupHashedName(tc.origName) if !ok { t.Errorf("LookupHashedName returned false") } else if n != tc.newName { t.Errorf("LookupHashedName returned %q; want %q", n, tc.newName) } if err := fstest.TestFS(f, tc.newName); err != nil { t.Fatal(err) } }) } }