| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package sprig
- import (
- "testing"
- )
- type fixtureTO struct {
- Name, Value string
- }
- func TestTypeOf(t *testing.T) {
- f := &fixtureTO{"hello", "world"}
- tpl := `{{typeOf .}}`
- if err := runtv(tpl, "*sprig.fixtureTO", f); err != nil {
- t.Error(err)
- }
- }
- func TestKindOf(t *testing.T) {
- tpl := `{{kindOf .}}`
- f := fixtureTO{"hello", "world"}
- if err := runtv(tpl, "struct", f); err != nil {
- t.Error(err)
- }
- f2 := []string{"hello"}
- if err := runtv(tpl, "slice", f2); err != nil {
- t.Error(err)
- }
- var f3 *fixtureTO
- if err := runtv(tpl, "ptr", f3); err != nil {
- t.Error(err)
- }
- }
- func TestTypeIs(t *testing.T) {
- f := &fixtureTO{"hello", "world"}
- tpl := `{{if typeIs "*sprig.fixtureTO" .}}t{{else}}f{{end}}`
- if err := runtv(tpl, "t", f); err != nil {
- t.Error(err)
- }
- f2 := "hello"
- if err := runtv(tpl, "f", f2); err != nil {
- t.Error(err)
- }
- }
- func TestTypeIsLike(t *testing.T) {
- f := "foo"
- tpl := `{{if typeIsLike "string" .}}t{{else}}f{{end}}`
- if err := runtv(tpl, "t", f); err != nil {
- t.Error(err)
- }
- // Now make a pointer. Should still match.
- f2 := &f
- if err := runtv(tpl, "t", f2); err != nil {
- t.Error(err)
- }
- }
- func TestKindIs(t *testing.T) {
- f := &fixtureTO{"hello", "world"}
- tpl := `{{if kindIs "ptr" .}}t{{else}}f{{end}}`
- if err := runtv(tpl, "t", f); err != nil {
- t.Error(err)
- }
- f2 := "hello"
- if err := runtv(tpl, "f", f2); err != nil {
- t.Error(err)
- }
- }
|