| 472 | } |
| 473 | |
| 474 | func TestUnnecessaryEscapeValueWrite(t *testing.T) { |
| 475 | data := `<?xml version="1.0" encoding="utf-8"?> |
| 476 | <class_list xml:space="preserve"> |
| 477 | <student> |
| 478 | <name> Robert </name> |
| 479 | <grade>A+</grade> |
| 480 | |
| 481 | </student> |
| 482 | </class_list>` |
| 483 | |
| 484 | root, err := Parse(strings.NewReader(data)) |
| 485 | if err != nil { |
| 486 | t.Error(err) |
| 487 | } |
| 488 | |
| 489 | var b strings.Builder |
| 490 | err = root.Write(&b, true) |
| 491 | testTrue(t, err == nil) |
| 492 | escapedInnerText := b.String() |
| 493 | if strings.Contains(escapedInnerText, "	") { |
| 494 | t.Fatal("\\n has been escaped unnecessarily") |
| 495 | } |
| 496 | |
| 497 | if strings.Contains(escapedInnerText, "
") { |
| 498 | t.Fatal("\\t has been escaped unnecessarily") |
| 499 | } |
| 500 | |
| 501 | } |
| 502 | |
| 503 | func TestHtmlUnescapeStringOriginString(t *testing.T) { |
| 504 | // has escape html character and \t |