Make great documentation goal 1.2, and plan the README's reorganisation and the nested-template gaps #33
@@ -1,6 +1,7 @@
|
||||
package fejkdata
|
||||
|
||||
import (
|
||||
"io/fs"
|
||||
"reflect"
|
||||
"slices"
|
||||
"strings"
|
||||
@@ -134,6 +135,13 @@ func TestWithDataFSLayersEachModuleOverTheOneBefore(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestWithDataFSRefusesANilModule(t *testing.T) {
|
||||
var unset fs.FS
|
||||
if _, err := New(WithDataFS(fstest.MapFS{}, unset)); err == nil || !strings.Contains(err.Error(), "WithDataFS module 2 is nil") {
|
||||
t.Errorf("New(WithDataFS(fsys, nil)) = %v, want module 2 named nil", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFakeIsSafeForConcurrentUse(t *testing.T) {
|
||||
f, err := New(withShipped(), WithSeed(1))
|
||||
if err != nil {
|
||||
|
||||
+3
-17
@@ -183,21 +183,6 @@ func shippedIndex(t *testing.T) map[string]datafiles.IndexEntry {
|
||||
return index
|
||||
}
|
||||
|
||||
func TestEachShippedModuleNamesWhatItReads(t *testing.T) {
|
||||
for _, m := range shippedModules(t) {
|
||||
manifest, err := datafiles.FS(m.fsys).Manifest()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if m.dir == "sv_SE" && !slices.Contains(manifest.Reads, "github.com/larvit/fejkdata/data/geo/SE") {
|
||||
t.Errorf("sv_SE reads %v, want geo/SE among them", manifest.Reads)
|
||||
}
|
||||
if slices.Contains(manifest.Reads, m.importPath()) {
|
||||
t.Errorf("%s reads %v, want itself left out", m.dir, manifest.Reads)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestEachShippedModuleRendersBesideTheModulesItReads(t *testing.T) {
|
||||
modules := shippedModules(t)
|
||||
for _, m := range modules {
|
||||
@@ -439,8 +424,9 @@ func TestABrokenManifestFailsNewNamingEveryMistake(t *testing.T) {
|
||||
`{"index": {"a": {"paths": ["", "x", "x"]}}}`: {`paths item 3 repeats "x"`},
|
||||
`{"index": {"a": {"paths": [""], "parent": "b"}}}`: {`parent "b" names no entry`},
|
||||
`{"index": {"a": {"paths": [""], "reads": ["b"]}}}`: {`unknown key "reads"`},
|
||||
`{"reads": "b"}`: {"reads must be a list, not a string"},
|
||||
`{"reads": ["", 3]}`: {"reads item 1 is empty", "reads item 2 must be a string, not a number"},
|
||||
`{"reads": "b"}`: {"reads must be a list, not a string"},
|
||||
`{"reads": ["", 3]}`: {"reads item 1 is empty", "reads item 2 must be a string, not a number"},
|
||||
`{"reads": ["a", "a"]}`: {`reads item 2 repeats "a"`},
|
||||
} {
|
||||
_, err := New(WithDataFS(fstest.MapFS{".fejkdata.json": {Data: []byte(manifest)}}))
|
||||
for _, w := range want {
|
||||
|
||||
Reference in New Issue
Block a user