55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package resource
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
)
|
|
|
|
|
|
type TestSizeResource struct {
|
|
*MenuResource
|
|
}
|
|
|
|
func getTemplate(sym string) (string, error) {
|
|
var tpl string
|
|
switch sym {
|
|
case "small":
|
|
tpl = "one {{.foo}} two {{.bar}} three {{.baz}}"
|
|
case "toobig":
|
|
tpl = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus in mattis lorem. Aliquam erat volutpat. Ut vitae metus."
|
|
case "pages":
|
|
tpl = "one {{.foo}} two {{.bar}} three {{.baz}}\n{{.xyzzy}}"
|
|
}
|
|
return tpl, nil
|
|
}
|
|
|
|
func funcFor(sym string) (EntryFunc, error) {
|
|
switch sym {
|
|
case "foo":
|
|
return getFoo, nil
|
|
case "bar":
|
|
return getBar, nil
|
|
case "baz":
|
|
return getBaz, nil
|
|
case "xyzzy":
|
|
return getXyzzy, nil
|
|
}
|
|
return nil, fmt.Errorf("unknown func: %s", sym)
|
|
}
|
|
|
|
func getFoo(ctx context.Context) (string, error) {
|
|
return "inky", nil
|
|
}
|
|
|
|
func getBar(ctx context.Context) (string, error) {
|
|
return "pinky", nil
|
|
}
|
|
|
|
func getBaz(ctx context.Context) (string, error) {
|
|
return "blinky", nil
|
|
}
|
|
|
|
func getXyzzy(ctx context.Context) (string, error) {
|
|
return "inky pinky\nblinky clyde sue\ntinkywinky dipsy\nlala poo\none two three four five six seven\neight nine ten\neleven twelve", nil
|
|
}
|