From a73ec53de9b020817b77c8c54b85679fcebca5a6 Mon Sep 17 00:00:00 2001 From: Brandon Dyck Date: Thu, 28 Mar 2019 20:18:25 -0600 Subject: [PATCH] Renamed EmptyElement to VoidElement --- hatmill.go | 14 +++++++------- hatmill_test.go | 12 ++++++------ html5/generated.go | 20 ++++++++++---------- internal/codegen/codegen.go | 10 +++++----- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/hatmill.go b/hatmill.go index 48b5afb..96d7191 100644 --- a/hatmill.go +++ b/hatmill.go @@ -4,7 +4,7 @@ import "io" //go:generate go run ./internal/codegen/codegen.go -input htmldefs.json -output html5/generated.go -package html5 -import -// Term represents a fragment of HTML markup, and is one of EmptyElement, ParentElement, or Text. +// Term represents a fragment of HTML markup, and is one of VoidElement, ParentElement, or Text. type Term interface { io.WriterTo @@ -46,20 +46,20 @@ func (a Attrib) WriteTo(w io.Writer) (n int64, err error) { return } -// EmptyElement represents an empty HTML element, that is one that cannot have +// VoidElement represents a void HTML element, that is one that cannot have // children. -type EmptyElement struct { +type VoidElement struct { TagName string Attribs []Attrib } -func (EmptyElement) isHtml() {} +func (VoidElement) isHtml() {} // WriteTo writes the HTML markup represented by e to w, returning the number // of bytes written and any error encountered. // // See the warning about sanitization in the (Attrib).WriteTo documentation. -func (e EmptyElement) WriteTo(w io.Writer) (n int64, err error) { +func (e VoidElement) WriteTo(w io.Writer) (n int64, err error) { err = writeStringsTo(w, &n, "<", e.TagName) if err != nil { return @@ -85,7 +85,7 @@ func (e EmptyElement) WriteTo(w io.Writer) (n int64, err error) { // ParentElement represents an HTML element that can have children. type ParentElement struct { - EmptyElement + VoidElement Children []Term } @@ -96,7 +96,7 @@ func (e ParentElement) isHtml() {} // // See the warning about sanitization in the (Attrib).WriteTo documentation. func (e ParentElement) WriteTo(w io.Writer) (n int64, err error) { - n, err = e.EmptyElement.WriteTo(w) + n, err = e.VoidElement.WriteTo(w) if err != nil { return } diff --git a/hatmill_test.go b/hatmill_test.go index f71707e..493d8b7 100644 --- a/hatmill_test.go +++ b/hatmill_test.go @@ -88,7 +88,7 @@ func TestEmptyElement(t *testing.T) { properties.Property("WriteTo writes element correctly with no attributes", prop.ForAll( func(tagName string) bool { - elem := &hatmill.EmptyElement{ + elem := &hatmill.VoidElement{ TagName: tagName, } expected := "<" + tagName + ">" @@ -99,7 +99,7 @@ func TestEmptyElement(t *testing.T) { properties.Property("WriteTo writes element correctly with attributes", prop.ForAll( func(tagName string, attribs []hatmill.Attrib) bool { - elem := hatmill.EmptyElement{ + elem := hatmill.VoidElement{ TagName: tagName, Attribs: attribs, } @@ -132,13 +132,13 @@ func TestParentElement(t *testing.T) { properties.Property("WriteTo writes element correctly without children", prop.ForAll( func(tagName string, attribs []hatmill.Attrib) bool { elem := &hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: tagName, Attribs: attribs, }, } - openTag := writeToString(elem.EmptyElement) + openTag := writeToString(elem.VoidElement) expected := openTag + "" return checkWrite(elem, expected) }, @@ -149,14 +149,14 @@ func TestParentElement(t *testing.T) { properties.Property("WriteTo writes element correctly with children", prop.ForAll( func(tagName string, attribs []hatmill.Attrib, children []hatmill.Term) bool { elem := &hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: tagName, Attribs: attribs, }, Children: children, } - openTag := writeToString(elem.EmptyElement) + openTag := writeToString(elem.VoidElement) var childStrings []string for _, child := range children { diff --git a/html5/generated.go b/html5/generated.go index 4432782..b933091 100644 --- a/html5/generated.go +++ b/html5/generated.go @@ -9,7 +9,7 @@ import "gitlab.codemonkeysoftware.net/b/hatmill" func Body(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "body", Attribs: attribs, }, @@ -22,7 +22,7 @@ func Body(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Pare func Div(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "div", Attribs: attribs, }, @@ -35,7 +35,7 @@ func Div(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Paren func Head(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "head", Attribs: attribs, }, @@ -48,7 +48,7 @@ func Head(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Pare func Html(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "html", Attribs: attribs, }, @@ -58,8 +58,8 @@ func Html(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Pare } // Img creates a element. -func Img(attribs ...hatmill.Attrib) hatmill.EmptyElement { - return hatmill.EmptyElement{ +func Img(attribs ...hatmill.Attrib) hatmill.VoidElement { + return hatmill.VoidElement{ TagName: "img", Attribs: attribs, } @@ -69,7 +69,7 @@ func Img(attribs ...hatmill.Attrib) hatmill.EmptyElement { func Li(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "li", Attribs: attribs, }, @@ -82,7 +82,7 @@ func Li(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Parent func Span(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "span", Attribs: attribs, }, @@ -95,7 +95,7 @@ func Span(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Pare func Title(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "title", Attribs: attribs, }, @@ -108,7 +108,7 @@ func Title(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.Par func Ul(attribs ...hatmill.Attrib) func(children ...hatmill.Term) hatmill.ParentElement { return func(children ...hatmill.Term) hatmill.ParentElement { return hatmill.ParentElement{ - EmptyElement: hatmill.EmptyElement{ + VoidElement: hatmill.VoidElement{ TagName: "ul", Attribs: attribs, }, diff --git a/internal/codegen/codegen.go b/internal/codegen/codegen.go index 071e13e..e30d7cb 100644 --- a/internal/codegen/codegen.go +++ b/internal/codegen/codegen.go @@ -108,7 +108,7 @@ func (def ElemDef) Generate(qualified bool) string { func %[1]s(attribs ...%[3]sAttrib) func(children ...%[3]sTerm) %[3]sParentElement { return func(children ...%[3]sTerm) %[3]sParentElement { return %[3]sParentElement{ - EmptyElement: %[3]sEmptyElement{ + VoidElement: %[3]sVoidElement{ TagName: "%[2]s", Attribs: attribs, }, @@ -117,9 +117,9 @@ func (def ElemDef) Generate(qualified bool) string { } } ` - emptyTemplate = `// %[1]s creates a <%[2]s> element. - func %[1]s(attribs ...%[3]sAttrib) %[3]sEmptyElement { - return %[3]sEmptyElement{ + voidTemplate = `// %[1]s creates a <%[2]s> element. + func %[1]s(attribs ...%[3]sAttrib) %[3]sVoidElement { + return %[3]sVoidElement{ TagName: "%[2]s", Attribs: attribs, } @@ -133,7 +133,7 @@ func (def ElemDef) Generate(qualified bool) string { } template := parentTemplate if def.Empty { - template = emptyTemplate + template = voidTemplate } return fmt.Sprintf(template, strings.Title(def.Name), def.Name, pkg) }