Skip to content

Commit 490db3c

Browse files
committed
Add a couple of new tests that does not use symbols that can have special meaning in a markup
failures (18): syntax::doctype::unclosed04::async_tokio syntax::doctype::unclosed04::borrowed syntax::doctype::unclosed04::buffered syntax::doctype::unclosed07::async_tokio syntax::doctype::unclosed07::borrowed syntax::doctype::unclosed07::buffered syntax::doctype::unclosed10::async_tokio syntax::doctype::unclosed10::borrowed syntax::doctype::unclosed10::buffered syntax::doctype::unclosed13::async_tokio syntax::doctype::unclosed13::borrowed syntax::doctype::unclosed13::buffered syntax::doctype::unclosed16::async_tokio syntax::doctype::unclosed16::borrowed syntax::doctype::unclosed16::buffered syntax::doctype::unclosed19::async_tokio syntax::doctype::unclosed19::borrowed syntax::doctype::unclosed19::buffered
1 parent 40129e6 commit 490db3c

File tree

1 file changed

+63
-27
lines changed

1 file changed

+63
-27
lines changed

tests/reader-errors.rs

Lines changed: 63 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ mod syntax {
230230
err!(unclosed5("<\t") => SyntaxError::UnclosedTag);
231231
err!(unclosed6("<\r") => SyntaxError::UnclosedTag);
232232
err!(unclosed7("<\n") => SyntaxError::UnclosedTag);
233+
err!(unclosed8("< \t\r\nx") => SyntaxError::UnclosedTag);
233234

234235
/// Closed tags can be tested only in pair with open tags, because otherwise
235236
/// `IllFormedError::UnmatchedEndTag` will be raised
@@ -278,20 +279,25 @@ mod syntax {
278279
}
279280
}
280281

281-
err!(unclosed_bang1("<!") => SyntaxError::InvalidBangMarkup);
282-
err!(unclosed_bang2("<!>") => SyntaxError::InvalidBangMarkup);
282+
err!(unclosed_bang1("<!") => SyntaxError::InvalidBangMarkup);
283+
err!(unclosed_bang2("<!>") => SyntaxError::InvalidBangMarkup);
284+
err!(unclosed_bang3("<!a") => SyntaxError::InvalidBangMarkup);
285+
err!(unclosed_bang4("<!a>") => SyntaxError::InvalidBangMarkup);
283286

284287
/// https://www.w3.org/TR/xml11/#NT-Comment
285288
mod comment {
286289
use super::*;
287290

288-
err!(unclosed1("<!-") => SyntaxError::UnclosedComment);
289-
err!(unclosed2("<!--") => SyntaxError::UnclosedComment);
290-
err!(unclosed3("<!->") => SyntaxError::UnclosedComment);
291-
err!(unclosed4("<!---") => SyntaxError::UnclosedComment);
292-
err!(unclosed5("<!-->") => SyntaxError::UnclosedComment);
293-
err!(unclosed6("<!----") => SyntaxError::UnclosedComment);
294-
err!(unclosed7("<!--->") => SyntaxError::UnclosedComment);
291+
err!(unclosed01("<!-") => SyntaxError::UnclosedComment);
292+
err!(unclosed02("<!--") => SyntaxError::UnclosedComment);
293+
err!(unclosed03("<!->") => SyntaxError::UnclosedComment);
294+
err!(unclosed04("<!-a") => SyntaxError::UnclosedComment);
295+
err!(unclosed05("<!---") => SyntaxError::UnclosedComment);
296+
err!(unclosed06("<!-->") => SyntaxError::UnclosedComment);
297+
err!(unclosed07("<!--b") => SyntaxError::UnclosedComment);
298+
err!(unclosed08("<!----") => SyntaxError::UnclosedComment);
299+
err!(unclosed09("<!--->") => SyntaxError::UnclosedComment);
300+
err!(unclosed10("<!---c") => SyntaxError::UnclosedComment);
295301

296302
ok!(normal("<!---->") => Event::Comment(BytesText::new("")));
297303
}
@@ -300,15 +306,31 @@ mod syntax {
300306
mod cdata {
301307
use super::*;
302308

303-
err!(unclosed1("<![") => SyntaxError::UnclosedCData);
304-
err!(unclosed2("<![C") => SyntaxError::UnclosedCData);
305-
err!(unclosed3("<![CD") => SyntaxError::UnclosedCData);
306-
err!(unclosed4("<![CDA") => SyntaxError::UnclosedCData);
307-
err!(unclosed5("<![CDAT") => SyntaxError::UnclosedCData);
308-
err!(unclosed6("<![CDATA") => SyntaxError::UnclosedCData);
309-
err!(unclosed7("<![CDATA[") => SyntaxError::UnclosedCData);
310-
err!(unclosed8("<![CDATA[]") => SyntaxError::UnclosedCData);
311-
err!(unclosed9("<![CDATA[]]") => SyntaxError::UnclosedCData);
309+
err!(unclosed01("<![") => SyntaxError::UnclosedCData);
310+
err!(unclosed02("<![C") => SyntaxError::UnclosedCData);
311+
err!(unclosed03("<![a") => SyntaxError::UnclosedCData);
312+
err!(unclosed04("<![>") => SyntaxError::UnclosedCData);
313+
err!(unclosed05("<![CD") => SyntaxError::UnclosedCData);
314+
err!(unclosed06("<![Cb") => SyntaxError::UnclosedCData);
315+
err!(unclosed07("<![C>") => SyntaxError::UnclosedCData);
316+
err!(unclosed08("<![CDA") => SyntaxError::UnclosedCData);
317+
err!(unclosed09("<![CDc") => SyntaxError::UnclosedCData);
318+
err!(unclosed10("<![CD>") => SyntaxError::UnclosedCData);
319+
err!(unclosed11("<![CDAT") => SyntaxError::UnclosedCData);
320+
err!(unclosed12("<![CDAd") => SyntaxError::UnclosedCData);
321+
err!(unclosed13("<![CDA>") => SyntaxError::UnclosedCData);
322+
err!(unclosed14("<![CDATA") => SyntaxError::UnclosedCData);
323+
err!(unclosed15("<![CDATe") => SyntaxError::UnclosedCData);
324+
err!(unclosed16("<![CDAT>") => SyntaxError::UnclosedCData);
325+
err!(unclosed17("<![CDATA[") => SyntaxError::UnclosedCData);
326+
err!(unclosed18("<![CDATAf") => SyntaxError::UnclosedCData);
327+
err!(unclosed19("<![CDATA>") => SyntaxError::UnclosedCData);
328+
err!(unclosed20("<![CDATA[]") => SyntaxError::UnclosedCData);
329+
err!(unclosed21("<![CDATA[g") => SyntaxError::UnclosedCData);
330+
err!(unclosed22("<![CDATA[>") => SyntaxError::UnclosedCData);
331+
err!(unclosed23("<![CDATA[]]") => SyntaxError::UnclosedCData);
332+
err!(unclosed24("<![CDATA[]h") => SyntaxError::UnclosedCData);
333+
err!(unclosed25("<![CDATA[]>") => SyntaxError::UnclosedCData);
312334

313335
ok!(normal("<![CDATA[]]>") => Event::CData(BytesCData::new("")));
314336
}
@@ -319,15 +341,29 @@ mod syntax {
319341
mod doctype {
320342
use super::*;
321343

322-
err!(unclosed1("<!D") => SyntaxError::UnclosedDoctype);
323-
err!(unclosed2("<!DO") => SyntaxError::UnclosedDoctype);
324-
err!(unclosed3("<!DOC") => SyntaxError::UnclosedDoctype);
325-
err!(unclosed4("<!DOCT") => SyntaxError::UnclosedDoctype);
326-
err!(unclosed5("<!DOCTY") => SyntaxError::UnclosedDoctype);
327-
err!(unclosed6("<!DOCTYP") => SyntaxError::UnclosedDoctype);
328-
err!(unclosed7("<!DOCTYPE") => SyntaxError::UnclosedDoctype);
329-
err!(unclosed8("<!DOCTYPE ") => SyntaxError::UnclosedDoctype);
330-
err!(unclosed9("<!DOCTYPE e") => SyntaxError::UnclosedDoctype);
344+
err!(unclosed01("<!D") => SyntaxError::UnclosedDoctype);
345+
err!(unclosed02("<!DO") => SyntaxError::UnclosedDoctype);
346+
err!(unclosed03("<!Da") => SyntaxError::UnclosedDoctype);
347+
err!(unclosed04("<!D>") => SyntaxError::UnclosedDoctype);
348+
err!(unclosed05("<!DOC") => SyntaxError::UnclosedDoctype);
349+
err!(unclosed06("<!DOb") => SyntaxError::UnclosedDoctype);
350+
err!(unclosed07("<!DO>") => SyntaxError::UnclosedDoctype);
351+
err!(unclosed08("<!DOCT") => SyntaxError::UnclosedDoctype);
352+
err!(unclosed09("<!DOCc") => SyntaxError::UnclosedDoctype);
353+
err!(unclosed10("<!DOC>") => SyntaxError::UnclosedDoctype);
354+
err!(unclosed11("<!DOCTY") => SyntaxError::UnclosedDoctype);
355+
err!(unclosed12("<!DOCTd") => SyntaxError::UnclosedDoctype);
356+
err!(unclosed13("<!DOCT>") => SyntaxError::UnclosedDoctype);
357+
err!(unclosed14("<!DOCTYP") => SyntaxError::UnclosedDoctype);
358+
err!(unclosed15("<!DOCTYe") => SyntaxError::UnclosedDoctype);
359+
err!(unclosed16("<!DOCTY>") => SyntaxError::UnclosedDoctype);
360+
err!(unclosed17("<!DOCTYPE") => SyntaxError::UnclosedDoctype);
361+
err!(unclosed18("<!DOCTYPf") => SyntaxError::UnclosedDoctype);
362+
err!(unclosed19("<!DOCTYP>") => SyntaxError::UnclosedDoctype);
363+
err!(unclosed20("<!DOCTYPE ") => SyntaxError::UnclosedDoctype);
364+
err!(unclosed21("<!DOCTYPEg") => SyntaxError::UnclosedDoctype);
365+
// <!DOCTYPE> results in IllFormed(MissingDoctypeName), checked below
366+
err!(unclosed22("<!DOCTYPE e") => SyntaxError::UnclosedDoctype);
331367

332368
// According to the grammar, XML declaration MUST contain at least one space
333369
// and an element name, but we do not consider this as a _syntax_ error.

0 commit comments

Comments
 (0)