fix tests broken by <br/> doc changes

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1802131 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2017-07-17 11:36:32 +00:00
parent 810d03f499
commit d4c9e0206a
5 changed files with 7 additions and 8 deletions

View File

@ -120,7 +120,6 @@ public final class XSSFVMLDrawing extends POIXMLDocumentPart {
read(getPackagePart().getInputStream());
}
@SuppressWarnings("resource")
protected void read(InputStream is) throws IOException, XmlException {
Document doc;
try {
@ -130,7 +129,7 @@ public final class XSSFVMLDrawing extends POIXMLDocumentPart {
* The result is that they contain things like &gt;br&lt;, which breaks the XML parsing.
* This very sick InputStream wrapper attempts to spot these go past, and fix them.
*/
doc = DocumentHelper.readDocument(new ReplacingInputStream(is, "<br>", "<br>"));
doc = DocumentHelper.readDocument(new ReplacingInputStream(is, "<br>", "<br/>"));
} catch (SAXException e) {
throw new XmlException(e.getMessage(), e);
}

View File

@ -41,6 +41,6 @@ import org.apache.poi.util.ReplacingInputStream;
@Internal
public class EvilUnclosedBRFixingInputStream extends ReplacingInputStream {
public EvilUnclosedBRFixingInputStream(InputStream source) {
super(source, "<br>", "<br>");
super(source, "<br>", "<br/>");
}
}

View File

@ -226,7 +226,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
* Excel will sometimes write a button with a textbox
* containing &gt;br&lt; (not closed!).
* Clearly Excel shouldn't do this, but test that we can
* read the file despite the naughtyness
* read the file despite the naughtiness
*/
@Test
public void bug49020() throws IOException {

View File

@ -174,7 +174,7 @@ public class TestXSSFVMLDrawing {
} finally {
stream.close();
}
Pattern p = Pattern.compile("<br>");
Pattern p = Pattern.compile("<br/>");
int count = 0;
for (XmlObject xo : vml.getItems()) {
String split[] = p.split(xo.toString());

View File

@ -32,7 +32,7 @@ public final class TestEvilUnclosedBRFixingInputStream {
static class EvilUnclosedBRFixingInputStream extends ReplacingInputStream {
public EvilUnclosedBRFixingInputStream(byte[] source) {
super(new ByteArrayInputStream(source), "<br>", "<br>");
super(new ByteArrayInputStream(source), "<br>", "<br/>");
}
}
@ -49,7 +49,7 @@ public final class TestEvilUnclosedBRFixingInputStream {
@Test
public void testProblem() throws IOException {
byte[] orig = getBytes("<p><div>Hello<br>There!</div> <div>Tags!</div></p>");
byte[] fixed = getBytes("<p><div>Hello<br>There!</div> <div>Tags!</div></p>");
byte[] fixed = getBytes("<p><div>Hello<br/>There!</div> <div>Tags!</div></p>");
EvilUnclosedBRFixingInputStream inp = new EvilUnclosedBRFixingInputStream(orig);
@ -63,7 +63,7 @@ public final class TestEvilUnclosedBRFixingInputStream {
@Test
public void testBufferSize() throws IOException {
byte[] orig = getBytes("<p><div>Hello<br> <br>There!</div> <div>Tags!<br><br></div></p>");
byte[] fixed = getBytes("<p><div>Hello<br> <br>There!</div> <div>Tags!<br><br></div></p>");
byte[] fixed = getBytes("<p><div>Hello<br/> <br/>There!</div> <div>Tags!<br/><br/></div></p>");
// Vary the buffer size, so that we can end up with the br in the
// overflow or only part in the buffer