From 0f53950475218315f3545f43d5e66c02e422e8c0 Mon Sep 17 00:00:00 2001
From: bep <bjorn.erik.pedersen@gmail.com>
Date: Tue, 9 Dec 2014 14:17:55 +0100
Subject: [PATCH] Add support for HTML to String

---
 cast_test.go | 2 ++
 caste.go     | 3 +++
 2 files changed, 5 insertions(+)

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: