package html // import "github.com/tdewolff/parse/html"
import (
"testing"
"github.com/tdewolff/test"
)
func TestEscapeAttrVal(t *testing.T) {
var escapeAttrValTests = []struct {
attrVal string
expected string
}{
{"xyz", "xyz"},
{"", ""},
{"x&z", "x&z"},
{"x/z", "x/z"},
{"x'z", "\"x'z\""},
{"x\"z", "'x\"z'"},
{"'x\"z'", "'x\"z'"},
{"'x'\"'z'", "\"x'"'z\""},
{"\"x"'"z\"", "'x\"'\"z'"},
{"\"x'z\"", "\"x'z\""},
{"'x"z'", "'x\"z'"},
{"'x\">'", "'x\">'"},
{"You're encouraged to log in; however, it's not mandatory. [o]", "\"You're encouraged to log in; however, it's not mandatory. [o]\""},
{"a'b=\"\"", "'a'b=\"\"'"},
{"x 1 && (b[0] == '"' || b[0] == '\'') && b[0] == b[len(b)-1] {
b = b[1 : len(b)-1]
}
val := EscapeAttrVal(&buf, orig, []byte(b))
test.String(t, string(val), tt.expected)
})
}
}