{ return "seo" }
{ return 0 }
{
var b strings.Builder
b.WriteString("// Code generated by seo plugin. DO NOT EDIT.\n")
b.WriteString("package main\n\n")
b.WriteString("import \"github.com/rfwlab/rfw/v1/plugins/seo\"\n\n")
b.WriteString("func init() {\n")
b.WriteString("\t_ = seo.New().Build([]byte(" + strconv.Quote(string(raw)) + "))\n")
b.WriteString("}\n")
p.file = "rfw_seo.go"
return os.WriteFile(p.file, []byte(b.String()), 0o644)
}
{
if p.file != "" {
_ = os.Remove(p.file)
p.file = ""
}
return nil
}
{ return false }
{ return nil }
{ plugins.Register(&plugin{}) }
TestPreAndPostBuild verifies the stub file is created and cleaned up.
{
p := &plugin{}
raw := json.RawMessage(`{"title":"x"}`)
if err := p.PreBuild(raw); err != nil {
t.Fatalf("PreBuild: %v", err)
}
if _, err := os.Stat("rfw_seo.go"); err != nil {
t.Fatalf("stub not created: %v", err)
}
if err := p.PostBuild(nil); err != nil {
t.Fatalf("PostBuild: %v", err)
}
if _, err := os.Stat("rfw_seo.go"); !os.IsNotExist(err) {
t.Fatalf("stub not removed")
}
}
import "encoding/json"
import "os"
import "strconv"
import "strings"
import "github.com/rfwlab/rfw/cmd/rfw/plugins"
import "encoding/json"
import "os"
import "testing"