Commit 5edeef21 authored by Mike Samuel's avatar Mike Samuel Committed by Nigel Tao

exp/template/html: non-semantics changing tweaks to js{,_test}.go

R=nigeltao
CC=golang-dev
https://golang.org/cl/4962049
parent 3fa7226d
...@@ -179,7 +179,6 @@ func jsStrEscaper(args ...interface{}) string { ...@@ -179,7 +179,6 @@ func jsStrEscaper(args ...interface{}) string {
for i, r := range s { for i, r := range s {
var repl string var repl string
switch r { switch r {
// All cases must appear in the IndexAny call above.
case 0: case 0:
repl = `\0` repl = `\0`
case '\t': case '\t':
...@@ -222,7 +221,7 @@ func jsStrEscaper(args ...interface{}) string { ...@@ -222,7 +221,7 @@ func jsStrEscaper(args ...interface{}) string {
b.WriteString(repl) b.WriteString(repl)
written = i + utf8.RuneLen(r) written = i + utf8.RuneLen(r)
} }
if b.Len() == 0 { if written == 0 {
return s return s
} }
b.WriteString(s[written:]) b.WriteString(s[written:])
...@@ -247,7 +246,6 @@ func jsRegexpEscaper(args ...interface{}) string { ...@@ -247,7 +246,6 @@ func jsRegexpEscaper(args ...interface{}) string {
for i, r := range s { for i, r := range s {
var repl string var repl string
switch r { switch r {
// All cases must appear in the IndexAny call above.
case 0: case 0:
repl = `\0` repl = `\0`
case '\t': case '\t':
...@@ -316,7 +314,7 @@ func jsRegexpEscaper(args ...interface{}) string { ...@@ -316,7 +314,7 @@ func jsRegexpEscaper(args ...interface{}) string {
b.WriteString(repl) b.WriteString(repl)
written = i + utf8.RuneLen(r) written = i + utf8.RuneLen(r)
} }
if b.Len() == 0 { if written == 0 {
return s return s
} }
b.WriteString(s[written:]) b.WriteString(s[written:])
......
...@@ -205,6 +205,10 @@ func TestJSStrEscaper(t *testing.T) { ...@@ -205,6 +205,10 @@ func TestJSStrEscaper(t *testing.T) {
{"+ADw-script+AD4-alert(1)+ADw-/script+AD4-", {"+ADw-script+AD4-alert(1)+ADw-/script+AD4-",
`\x2bADw-script\x2bAD4-alert(1)\x2bADw-\/script\x2bAD4-`, `\x2bADw-script\x2bAD4-alert(1)\x2bADw-\/script\x2bAD4-`,
}, },
// Invalid UTF-8 sequence
{"foo\xA0bar", "foo\xA0bar"},
// Invalid unicode scalar value.
{"foo\xed\xa0\x80bar", "foo\xed\xa0\x80bar"},
} }
for _, test := range tests { for _, test := range tests {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment