1919import org .junit .jupiter .params .provider .MethodSource ;
2020
2121import java .io .IOException ;
22+ import java .io .StringReader ;
2223import java .nio .file .DirectoryStream ;
2324import java .nio .file .Files ;
2425import java .nio .file .Path ;
@@ -47,13 +48,25 @@ public void check(String path, TreeConstruction test, boolean scripting) {
4748 }
4849 Parser parser = new Parser (options );
4950 if (treeTest .isDocumentFragment ) {
51+ // first as a "string" source
5052 List <Node > nodes = parser .parseFragment (new Element (treeTest .documentFragmentElement , treeTest .documentFragmentNamespace , null ), treeTest .data );
5153 String rendered = renderNodes (nodes );
5254 assertEquals (treeTest .document , rendered );
55+
56+ // then as a "reader" source
57+ nodes = parser .parseFragment (new Element (treeTest .documentFragmentElement , treeTest .documentFragmentNamespace , null ), new StringReader (treeTest .data ));
58+ rendered = renderNodes (nodes );
59+ assertEquals (treeTest .document , rendered );
5360 } else {
61+ // first as a "string" source
5462 Document document = parser .parse (treeTest .data );
5563 String rendered = renderDocument (document );
5664 assertEquals (treeTest .document , rendered );
65+
66+ //then as a "reader" source
67+ document = parser .parse (new StringReader (treeTest .data ));
68+ rendered = renderDocument (document );
69+ assertEquals (treeTest .document , rendered );
5770 }
5871 }
5972
@@ -78,8 +91,6 @@ public static List<Object[]> data() throws IOException {
7891 }
7992 data .sort ((o1 , o2 ) -> Comparator .<Object [], String >comparing (o -> (String ) o [0 ]).thenComparing (o -> (boolean ) o [2 ]).compare (o1 , o2 ));
8093 return data ;
81-
82-
8394 }
8495
8596 static TreeConstruction parse (String test ) {
0 commit comments