diff --git a/cast_test.go b/cast_test.go index a7ab1a8..13318a4 100644 --- a/cast_test.go +++ b/cast_test.go @@ -9,6 +9,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "html/template" ) func TestToInt(t *testing.T) { @@ -34,6 +35,7 @@ func TestToString(t *testing.T) { assert.Equal(t, ToString(8), "8") assert.Equal(t, ToString(8.12), "8.12") assert.Equal(t, ToString([]byte("one time")), "one time") + assert.Equal(t, ToString(template.HTML("one time")), "one time") assert.Equal(t, ToString(foo), "one more time") assert.Equal(t, ToString(nil), "") } diff --git a/caste.go b/caste.go index 9f5916a..086a5b1 100644 --- a/caste.go +++ b/caste.go @@ -8,6 +8,7 @@ package cast import ( "errors" "fmt" + "html/template" "reflect" "strconv" "time" @@ -130,6 +131,8 @@ func ToStringE(i interface{}) (string, error) { return strconv.FormatInt(int64(i.(int)), 10), nil case []byte: return string(s), nil + case template.HTML: + return string(s), nil case nil: return "", nil default: