File tree Expand file tree Collapse file tree 4 files changed +14
-9
lines changed
Expand file tree Collapse file tree 4 files changed +14
-9
lines changed Original file line number Diff line number Diff line change @@ -85,7 +85,7 @@ func render1(w writer, n *Node) error {
8585 if _ , err := w .WriteString ("<!--" ); err != nil {
8686 return err
8787 }
88- if _ , err := w . WriteString ( n .Data ); err != nil {
88+ if err := escape ( w , n .Data ); err != nil {
8989 return err
9090 }
9191 if _ , err := w .WriteString ("-->" ); err != nil {
@@ -96,7 +96,7 @@ func render1(w writer, n *Node) error {
9696 if _ , err := w .WriteString ("<!DOCTYPE " ); err != nil {
9797 return err
9898 }
99- if _ , err := w . WriteString ( n .Data ); err != nil {
99+ if err := escape ( w , n .Data ); err != nil {
100100 return err
101101 }
102102 if n .Attr != nil {
Original file line number Diff line number Diff line change @@ -94,6 +94,10 @@ func TestRenderer(t *testing.T) {
9494 Data : "comm" ,
9595 },
9696 15 : {
97+ Type : CommentNode ,
98+ Data : "x-->y" , // Needs escaping.
99+ },
100+ 16 : {
97101 Type : RawNode ,
98102 Data : "7<pre>8</pre>9" ,
99103 },
@@ -119,7 +123,8 @@ func TestRenderer(t *testing.T) {
119123 12 : `. . <br>` ,
120124 13 : `. . "6"` ,
121125 14 : `. . "<!--comm-->"` ,
122- 15 : `. . "7<pre>8</pre>9"` ,
126+ 15 : `. . "<!--x-->y-->"` ,
127+ 16 : `. . "7<pre>8</pre>9"` ,
123128 }
124129 if len (nodes ) != len (treeAsText ) {
125130 t .Fatal ("len(nodes) != len(treeAsText)" )
@@ -155,7 +160,7 @@ func TestRenderer(t *testing.T) {
155160
156161 want := `<html><head></head><body>0<1<p id="A" foo="abc"def">` +
157162 `2<b empty="">3</b><i backslash="\">&4</i></p>` +
158- `5<blockquote></blockquote><br/>6<!--comm-->7<pre>8</pre>9</body></html>`
163+ `5<blockquote></blockquote><br/>6<!--comm--><!--x-->y--> 7<pre>8</pre>9</body></html>`
159164 b := new (bytes.Buffer )
160165 if err := Render (b , nodes [0 ]); err != nil {
161166 t .Fatal (err )
Original file line number Diff line number Diff line change @@ -110,9 +110,9 @@ func (t Token) String() string {
110110 case SelfClosingTagToken :
111111 return "<" + t .tagString () + "/>"
112112 case CommentToken :
113- return "<!--" + t .Data + "-->"
113+ return "<!--" + EscapeString ( t .Data ) + "-->"
114114 case DoctypeToken :
115- return "<!DOCTYPE " + t .Data + ">"
115+ return "<!DOCTYPE " + EscapeString ( t .Data ) + ">"
116116 }
117117 return "Invalid(" + strconv .Itoa (int (t .Type )) + ")"
118118}
Original file line number Diff line number Diff line change @@ -314,12 +314,12 @@ var tokenTests = []tokenTest{
314314 {
315315 "comment3" ,
316316 "a<!--x>-->z" ,
317- "a$<!--x> -->$z" ,
317+ "a$<!--x> -->$z" ,
318318 },
319319 {
320320 "comment4" ,
321321 "a<!--x->-->z" ,
322- "a$<!--x-> -->$z" ,
322+ "a$<!--x-> -->$z" ,
323323 },
324324 {
325325 "comment5" ,
@@ -334,7 +334,7 @@ var tokenTests = []tokenTest{
334334 {
335335 "comment7" ,
336336 "a<!---<>z" ,
337- "a$<!---<> z-->" ,
337+ "a$<!---<> z-->" ,
338338 },
339339 {
340340 "comment8" ,
You can’t perform that action at this time.
0 commit comments