github.com/hairyhenderson/gomplate/v3@v3.11.7/test/test.go (about)

     1  // Package test contains functions to help validate assumptions and can cause
     2  // template generation to fail in specific cases
     3  package test
     4  
     5  import (
     6  	"github.com/pkg/errors"
     7  )
     8  
     9  // Assert -
    10  func Assert(value bool, message string) (string, error) {
    11  	if !value {
    12  		if message != "" {
    13  			return "", errors.Errorf("assertion failed: %s", message)
    14  		}
    15  		return "", errors.New("assertion failed")
    16  	}
    17  	return "", nil
    18  }
    19  
    20  // Fail -
    21  func Fail(message string) error {
    22  	if message != "" {
    23  		return errors.Errorf("template generation failed: %s", message)
    24  	}
    25  	return errors.New("template generation failed")
    26  }
    27  
    28  // Required -
    29  func Required(message string, value interface{}) (interface{}, error) {
    30  	if message == "" {
    31  		message = "can not render template: a required value was not set"
    32  	}
    33  
    34  	if s, ok := value.(string); value == nil || (ok && s == "") {
    35  		return nil, errors.New(message)
    36  	}
    37  
    38  	return value, nil
    39  }