Test that every shipped category loads alone into a fresh New
This commit is contained in:
+15
-11
@@ -33,17 +33,9 @@ func newShippedWhole(t testing.TB, opts ...Option) *Generator {
|
|||||||
// loadedCategories is the dot path of every category f has parsed and linked.
|
// loadedCategories is the dot path of every category f has parsed and linked.
|
||||||
func loadedCategories(f *Generator) []string {
|
func loadedCategories(f *Generator) []string {
|
||||||
var out []string
|
var out []string
|
||||||
var walk func(prefix string, g *folder)
|
for _, s := range categorySites(&f.root) {
|
||||||
walk = func(prefix string, g *folder) {
|
out = append(out, s.path)
|
||||||
for _, name := range sortedNames(g.children) {
|
|
||||||
if sub, isFolder := g.children[name].(*folder); isFolder {
|
|
||||||
walk(join(prefix, name), sub)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
out = append(out, join(prefix, name))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
walk("", &f.root)
|
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,7 +62,7 @@ func TestShippedIndexIsCurrent(t *testing.T) {
|
|||||||
|
|
||||||
func shippedIndexSource(whole *Generator) ([]byte, error) {
|
func shippedIndexSource(whole *Generator) ([]byte, error) {
|
||||||
var b bytes.Buffer
|
var b bytes.Buffer
|
||||||
b.WriteString("// Code generated by TestShippedIndexIsCurrent with REPIN=1. DO NOT EDIT.\n\npackage fejkdata\n\nvar shippedIndex = map[string]shippedCategory{\n")
|
b.WriteString("// Code generated by TestShippedIndexIsCurrent with REPIN=1. DO NOT EDIT.\n\npackage fejkdata\n\nvar shippedIndex = map[string]shippedEntry{\n")
|
||||||
for _, s := range categorySites(&whole.root) {
|
for _, s := range categorySites(&whole.root) {
|
||||||
fmt.Fprintf(&b, "%q: {", s.path)
|
fmt.Fprintf(&b, "%q: {", s.path)
|
||||||
if t, isTable := s.n.(*table); isTable && t.parentIndex >= 0 {
|
if t, isTable := s.n.(*table); isTable && t.parentIndex >= 0 {
|
||||||
@@ -186,6 +178,18 @@ func TestOnDemandRendersAsTheWholeLoad(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEveryShippedCategoryLoadsAlone(t *testing.T) {
|
||||||
|
for p := range shippedIndex {
|
||||||
|
f, err := New()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("New() = %v", err)
|
||||||
|
}
|
||||||
|
if _, err := f.Fake(p); err != nil {
|
||||||
|
t.Errorf("Fake(%q) on a fresh New() = %v", p, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestListRunsBesideAnOnDemandLoad(t *testing.T) {
|
func TestListRunsBesideAnOnDemandLoad(t *testing.T) {
|
||||||
f, err := New()
|
f, err := New()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user