PureXML/Tests
Mihaela Mihaljevic 9b55767b39 feat(emitting): add an incremental XML writer (xmlTextWriter)
Add PureXML.Emitting.Writer, the libxml2 xmlTextWriter model: emit a document
with writeStartElement/writeAttribute/writeString/writeEndElement and friends,
never building a tree. Escaping is extracted into a shared Emitting.Escaping
helper used by both the writer and the serializer, so compact writer output is
byte-identical to serializing the equivalent tree. Pretty mode indents element
children (forward-only, so prefer compact for mixed content). Closes #32.
Reimplemented from the libxml2 model; no upstream code copied. 6 tests; 90 total.
2026-06-08 02:32:39 +02:00
..
Fixtures
DTDAttributeTests.swift feat(validation): add DTD attribute (ATTLIST) validation 2026-06-08 02:07:01 +02:00
DTDIdentifierTests.swift feat(validation): add DTD ID/IDREF/IDREFS validation 2026-06-08 02:13:11 +02:00
DTDTests.swift feat(parser): optional DTD with internal entities and billion-laughs defense 2026-06-08 01:17:09 +02:00
DTDValidationTests.swift feat(validation): add DTD content-model validation 2026-06-08 01:59:00 +02:00
EncodingTests.swift feat(parser): streaming byte decode (incremental UTF-8/UTF-16) 2026-06-08 01:07:24 +02:00
ModelTests.swift
NamespaceTests.swift feat(parser): resolve XML namespaces at the start-element boundary 2026-06-08 01:03:29 +02:00
ParsingTests.swift feat(parser): add bounded-by-default limits (depth, name, content) 2026-06-08 00:40:34 +02:00
SAXTests.swift feat(parsing): add SAX2 push-callback API 2026-06-08 02:26:04 +02:00
SerializerTests.swift refactor(emitter): make the serializer iterative and fix mixed content 2026-06-08 00:31:05 +02:00
ValidationTests.swift
WriterTests.swift feat(emitting): add an incremental XML writer (xmlTextWriter) 2026-06-08 02:32:39 +02:00
XPathTests.swift feat(xpath): add an XPath 1.0 location-path subset 2026-06-08 01:32:23 +02:00