@@ -644,6 +644,37 @@ func TestValuelessAttrs(t *testing.T) {
644
644
}
645
645
}
646
646
647
+ const testInputAutoClose = `
648
+ <lol>
649
+ <lol></lol>
650
+ `
651
+
652
+ var cookedTokensAutoClose = []Token {
653
+ CharData ("\n " ),
654
+ StartElement {Name :Name {Space :"" , Local :"lol" }, Attr :[]Attr {}},
655
+ EndElement {Name :Name {Space :"" , Local :"lol" }},
656
+ CharData ("\n " ),
657
+ StartElement {Name :Name {Space :"" , Local :"lol" }, Attr :[]Attr {}},
658
+ EndElement {Name :Name {Space :"" , Local :"lol" }},
659
+ CharData ("\n " ),
660
+ }
661
+
662
+ func TestTokenAutoClose (t * testing.T ) {
663
+ d := NewDecoder (strings .NewReader (testInputAutoClose ))
664
+ d .Strict = false
665
+ d .AutoClose = []string {"LOL" }
666
+
667
+ for i , want := range cookedTokensAutoClose {
668
+ have , err := d .Token ()
669
+ if err != nil {
670
+ t .Fatalf ("token %d: unexpected error: %s" , i , err )
671
+ }
672
+ if ! reflect .DeepEqual (have , want ) {
673
+ t .Errorf ("token %d = %#v want %#v" , i , have , want )
674
+ }
675
+ }
676
+ }
677
+
647
678
func TestCopyTokenCharData (t * testing.T ) {
648
679
data := []byte ("same data" )
649
680
var tok1 Token = CharData (data )
@@ -789,7 +820,6 @@ var characterTests = []struct {
789
820
}
790
821
791
822
func TestDisallowedCharacters (t * testing.T ) {
792
-
793
823
for i , tt := range characterTests {
794
824
d := NewDecoder (strings .NewReader (tt .in ))
795
825
var err error
0 commit comments