Hello golang-dev@googlegroups.com, I'd like you to review this change to https://code.google.com/p/go
LGTM about time!
LGTM can we go get food now? On Wed, Jul 10, 2013 at 5:30 PM, <adg@golang.org> wrote: > Reviewers: golang-dev1, > > Message: > Hello golang-dev@googlegroups.com, > > I'd like you to review this change to > https://code.google.com/p/go > > > Description: > html: add escaping tests > > Please review this at https://codereview.appspot.**com/11095043/<https://codereview.appspot.com/110... > > Affected files: > A src/pkg/html/escape_test.go > > > Index: src/pkg/html/escape_test.go > ==============================**==============================**======= > new file mode 100644 > --- /dev/null > +++ b/src/pkg/html/escape_test.go > @@ -0,0 +1,97 @@ > +// Copyright 2013 The Go Authors. All rights reserved. > +// Use of this source code is governed by a BSD-style > +// license that can be found in the LICENSE file. > + > +package html > + > +import "testing" > + > +type unescapeTest struct { > + // A short description of the test case. > + desc string > + // The HTML text. > + html string > + // The unescaped text. > + unescaped string > +} > + > +var unescapeTests = []unescapeTest{ > + // Handle no entities. > + { > + "copy", > + "A\ttext\nstring", > + "A\ttext\nstring", > + }, > + // Handle simple named entities. > + { > + "simple", > + "& > <", > + "& > <", > + }, > + // Handle hitting the end of the string. > + { > + "stringEnd", > + "& &", > + "& &", > + }, > + // Handle entities with two codepoints. > + { > + "multiCodepoint", > + "text ⋛︀ blah", > + "text \u22db\ufe00 blah", > + }, > + // Handle decimal numeric entities. > + { > + "decimalEntity", > + "Delta = Δ ", > + "Delta = Δ ", > + }, > + // Handle hexadecimal numeric entities. > + { > + "hexadecimalEntity", > + "Lambda = λ = λ ", > + "Lambda = λ = λ ", > + }, > + // Handle numeric early termination. > + { > + "numericEnds", > + "&# &#x €43 © = ©f = ©", > + "&# &#x €43 © = ©f = ©", > + }, > + // Handle numeric ISO-8859-1 entity replacements. > + { > + "numericReplacements", > + "Footnote‡", > + "Footnote‡", > + }, > +} > + > +func TestUnescape(t *testing.T) { > + for _, tt := range unescapeTests { > + unescaped := UnescapeString(tt.html) > + if unescaped != tt.unescaped { > + t.Errorf("TestUnescape %s: want %q, got %q", > tt.desc, tt.unescaped, unescaped) > + } > + } > +} > + > +func TestUnescapeEscape(t *testing.T) { > + ss := []string{ > + ``, > + `abc def`, > + `a & b`, > + `a&b`, > + `a & b`, > + `"`, > + `"`, > + `"<&>"`, > + `"<&>"`, > + `3&5==1 && 0<1, "0<1", a+acute=á`, > + `The special characters are: <, >, &, ' and "`, > + } > + for _, s := range ss { > + if got := UnescapeString(EscapeString(s)**); got != s { > + t.Errorf("got %q want %q", got, s) > + } > + } > +} > > > -- > > ---You received this message because you are subscribed to the Google > Groups "golang-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-dev+unsubscribe@**googlegroups.com<golang-dev%2Bunsubscribe@googlegrou... > . > For more options, visit https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/o... > . > > >
*** Submitted as https://code.google.com/p/go/source/detail?r=79764384421c *** html: add escaping tests R=golang-dev, dsymonds, bradfitz CC=golang-dev https://codereview.appspot.com/11095043