< Summary - go-semantic-release Coverage

Information
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 33
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Render0%00100%

File(s)

/home/runner/work/go-semantic-release/go-semantic-release/internal/adapters/template/renderer.go

#LineLine coverage
 1package tmpl
 2
 3import (
 4  "bytes"
 5  "fmt"
 6  "text/template"
 7
 8  "github.com/jedi-knights/go-semantic-release/internal/ports"
 9)
 10
 11// Compile-time interface compliance check.
 12var _ ports.TemplateRenderer = (*GoTemplateRenderer)(nil)
 13
 14// GoTemplateRenderer implements ports.TemplateRenderer using Go's text/template.
 15type GoTemplateRenderer struct{}
 16
 17// NewGoTemplateRenderer creates a new Go template renderer.
 18func NewGoTemplateRenderer() *GoTemplateRenderer {
 19  return &GoTemplateRenderer{}
 20}
 21
 522func (r *GoTemplateRenderer) Render(templateStr string, data any) (string, error) {
 523  tmpl, err := template.New("render").Parse(templateStr)
 124  if err != nil {
 125    return "", fmt.Errorf("parsing template: %w", err)
 126  }
 27
 428  var buf bytes.Buffer
 129  if err := tmpl.Execute(&buf, data); err != nil {
 130    return "", fmt.Errorf("executing template: %w", err)
 131  }
 332  return buf.String(), nil
 33}

Methods/Properties

Render