style(format): adopt --importgrouping testable-bottom from canonical rules-swift
Group @testable imports at the bottom, per public/rules-swift's swiftformat. A behavior-preserving import-ordering reformat across 252 files (mostly tests). --trailingclosures was deliberately not adopted (cosmetic, and swiftformat flags it as caution-worthy).
This commit is contained in:
parent
c6f305357c
commit
83e6e27d12
@ -18,6 +18,8 @@
|
|||||||
--wrapparameters before-first
|
--wrapparameters before-first
|
||||||
--wrapcollections before-first
|
--wrapcollections before-first
|
||||||
--self remove
|
--self remove
|
||||||
|
# Adopted from canonical rules-swift: @testable imports group at the bottom.
|
||||||
|
--importgrouping testable-bottom
|
||||||
--exclude .build,DerivedData
|
--exclude .build,DerivedData
|
||||||
|
|
||||||
# PureXML uses OpenAPIKit-style `test_...` method names with Swift Testing.
|
# PureXML uses OpenAPIKit-style `test_...` method names with Swift Testing.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Adversarial Critic Tests")
|
@Suite("Adversarial Critic Tests")
|
||||||
struct AdversarialCriticTests {
|
struct AdversarialCriticTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The worked examples of Canonical XML 1.0 section 3 (W3C Recommendation,
|
/// The worked examples of Canonical XML 1.0 section 3 (W3C Recommendation,
|
||||||
/// https://www.w3.org/TR/xml-c14n, W3C Software and Document License), run as
|
/// https://www.w3.org/TR/xml-c14n, W3C Software and Document License), run as
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Canonical XML 1.1: xml:base merging and xml:id")
|
@Suite("Canonical XML 1.1: xml:base merging and xml:id")
|
||||||
struct CanonicalC14N11Tests {
|
struct CanonicalC14N11Tests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Canonical XML 2.0: sequential prefix rewrite and QName-aware values")
|
@Suite("Canonical XML 2.0: sequential prefix rewrite and QName-aware values")
|
||||||
struct CanonicalPrefixRewriteTests {
|
struct CanonicalPrefixRewriteTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Canonical XML: node-set (position-based) selection")
|
@Suite("Canonical XML: node-set (position-based) selection")
|
||||||
struct CanonicalSelectionTests {
|
struct CanonicalSelectionTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Canonical XML: node-subset canonicalization and xml:* inheritance")
|
@Suite("Canonical XML: node-subset canonicalization and xml:* inheritance")
|
||||||
struct CanonicalSubsetTests {
|
struct CanonicalSubsetTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Canonical XML")
|
@Suite("Canonical XML")
|
||||||
struct CanonicalTests {
|
struct CanonicalTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Catalog xml:base and RFC 3986 URI resolution")
|
@Suite("Catalog xml:base and RFC 3986 URI resolution")
|
||||||
struct CatalogBaseURITests {
|
struct CatalogBaseURITests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XML catalog group-level prefer override")
|
@Suite("XML catalog group-level prefer override")
|
||||||
struct CatalogGroupPreferTests {
|
struct CatalogGroupPreferTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("SGML catalog format")
|
@Suite("SGML catalog format")
|
||||||
struct CatalogSGMLTests {
|
struct CatalogSGMLTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Catalog suffix entries and prefer attribute")
|
@Suite("Catalog suffix entries and prefer attribute")
|
||||||
struct CatalogSuffixPreferTests {
|
struct CatalogSuffixPreferTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XML Catalog")
|
@Suite("XML Catalog")
|
||||||
struct CatalogTests {
|
struct CatalogTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Canonical XML exclusive and 2.0 mode conformance, driven through the
|
/// Canonical XML exclusive and 2.0 mode conformance, driven through the
|
||||||
/// validation framework (its own suite to keep the main corpus under the cap).
|
/// validation framework (its own suite to keep the main corpus under the cap).
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// OASIS XML Catalog conformance, driven through the validation framework
|
/// OASIS XML Catalog conformance, driven through the validation framework
|
||||||
/// (Tier 2): entry kinds and the precedence the spec prescribes.
|
/// (Tier 2): entry kinds and the precedence the spec prescribes.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// A first Tier-2 conformance corpus, driven through the validation framework:
|
/// A first Tier-2 conformance corpus, driven through the validation framework:
|
||||||
/// each case runs a PureXML subsystem and the `Conformance` validation rule
|
/// each case runs a PureXML subsystem and the `Conformance` validation rule
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// DTD content-model conformance, driven through the validation framework (its
|
/// DTD content-model conformance, driven through the validation framework (its
|
||||||
/// own suite to keep the main corpus under the cap).
|
/// own suite to keep the main corpus under the cap).
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Serializer options-matrix conformance, driven through the validation
|
/// Serializer options-matrix conformance, driven through the validation
|
||||||
/// framework: each case pins the exact output of one option against the
|
/// framework: each case pins the exact output of one option against the
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// HTML5 depth conformance, driven through the validation framework (#119, the
|
/// HTML5 depth conformance, driven through the validation framework (#119, the
|
||||||
/// zone that produced #109): the spec-fidelity cases go through the document
|
/// zone that produced #109): the spec-fidelity cases go through the document
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// XSD regex (`xs:pattern`) conformance, driven through the validation
|
/// XSD regex (`xs:pattern`) conformance, driven through the validation
|
||||||
/// framework (Tier 2): the XML Schema regex flavor against its spec semantics,
|
/// framework (Tier 2): the XML Schema regex flavor against its spec semantics,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Schematron conformance, driven through the validation framework (kept in its
|
/// Schematron conformance, driven through the validation framework (kept in its
|
||||||
/// own suite so the main corpus stays under the type-body cap).
|
/// own suite so the main corpus stays under the type-body cap).
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// XInclude and XPointer conformance, driven through the validation framework
|
/// XInclude and XPointer conformance, driven through the validation framework
|
||||||
/// (Tier 2): inclusion semantics, fallback, fragment selection, and the
|
/// (Tier 2): inclusion semantics, fallback, fragment selection, and the
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// XPath 1.0 axis and predicate conformance, driven through the validation
|
/// XPath 1.0 axis and predicate conformance, driven through the validation
|
||||||
/// framework (its own suite to keep the main corpus under the cap).
|
/// framework (its own suite to keep the main corpus under the cap).
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Locks the two content-model matchers together (#115): the DTD matcher
|
/// Locks the two content-model matchers together (#115): the DTD matcher
|
||||||
/// (positional set closure) and the XSD matcher (Thompson NFA) solve the same
|
/// (positional set closure) and the XSD matcher (Thompson NFA) solve the same
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Unique Particle Attribution (cos-nonambig, XSD 1.0 3.8.6): a content model
|
/// Unique Particle Attribution (cos-nonambig, XSD 1.0 3.8.6): a content model
|
||||||
/// must be deterministic, so each element in an instance is attributable to a
|
/// must be deterministic, so each element in an instance is attributable to a
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Guards the content-model NFA builder against occurrence-explosion (#129).
|
/// Guards the content-model NFA builder against occurrence-explosion (#129).
|
||||||
/// The per-particle unroll cap bounds one repetition, but nested high-`maxOccurs`
|
/// The per-particle unroll cap bounds one repetition, but nested high-`maxOccurs`
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD attribute validation")
|
@Suite("DTD attribute validation")
|
||||||
struct DTDAttributeTests {
|
struct DTDAttributeTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD conditional sections, notations, NDATA")
|
@Suite("DTD conditional sections, notations, NDATA")
|
||||||
struct DTDConditionalNotationTests {
|
struct DTDConditionalNotationTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD attribute defaulting and tokenized types")
|
@Suite("DTD attribute defaulting and tokenized types")
|
||||||
struct DTDDefaultingTests {
|
struct DTDDefaultingTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The IBM-section burn-down behaviors: a document needs a root element
|
/// The IBM-section burn-down behaviors: a document needs a root element
|
||||||
/// (production 1), entity references in literals must be lexical Names (P66),
|
/// (production 1), entity references in literals must be lexical Names (P66),
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD ID and IDREF validation")
|
@Suite("DTD ID and IDREF validation")
|
||||||
struct DTDIdentifierTests {
|
struct DTDIdentifierTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD located content-model errors")
|
@Suite("DTD located content-model errors")
|
||||||
struct DTDLocatedContentTests {
|
struct DTDLocatedContentTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD parameter-entity and external-subset depth")
|
@Suite("DTD parameter-entity and external-subset depth")
|
||||||
struct DTDParameterEntityDepthTests {
|
struct DTDParameterEntityDepthTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The standalone validity constraints (2.9) and the standalone entity WFC:
|
/// The standalone validity constraints (2.9) and the standalone entity WFC:
|
||||||
/// a document declaring standalone='yes' must not depend on declarations in
|
/// a document declaring standalone='yes' must not depend on declarations in
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The DTD-subset strictness landed with the OASIS/NIST conformance pass:
|
/// The DTD-subset strictness landed with the OASIS/NIST conformance pass:
|
||||||
/// unknown or malformed markup declarations, the exact `%name;` parameter-
|
/// unknown or malformed markup declarations, the exact `%name;` parameter-
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD and entities")
|
@Suite("DTD and entities")
|
||||||
struct DTDTests {
|
struct DTDTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("DTD validation")
|
@Suite("DTD validation")
|
||||||
struct DTDValidationTests {
|
struct DTDValidationTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The validity constraints added with the Sun-section burn-down: declaration-
|
/// The validity constraints added with the Sun-section burn-down: declaration-
|
||||||
/// level checks (reported at the document root), the root/DOCTYPE name match,
|
/// level checks (reported at the document root), the root/DOCTYPE name match,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("EXSLT functions: common, math, sets")
|
@Suite("EXSLT functions: common, math, sets")
|
||||||
struct EXSLTTests {
|
struct EXSLTTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Encoding-declaration contradictions are fatal (#137, 4.3.3): a declared
|
/// Encoding-declaration contradictions are fatal (#137, 4.3.3): a declared
|
||||||
/// 16/32-bit encoding over 8-bit bytes, a declaration outside the BOM's
|
/// 16/32-bit encoding over 8-bit bytes, a declaration outside the BOM's
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Encoding")
|
@Suite("Encoding")
|
||||||
struct EncodingTests {
|
struct EncodingTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Per-entity base-URI tracking (#138): a relative system identifier inside
|
/// Per-entity base-URI tracking (#138): a relative system identifier inside
|
||||||
/// an external entity resolves against that entity's own URI, not the
|
/// an external entity resolves against that entity's own URI, not the
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("External and parameter entities")
|
@Suite("External and parameter entities")
|
||||||
struct EntityResolverTests {
|
struct EntityResolverTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Content splicing (4.4.2 Included, #133): a general entity whose replacement
|
/// Content splicing (4.4.2 Included, #133): a general entity whose replacement
|
||||||
/// text contains markup is reparsed as content, so elements inside an entity
|
/// text contains markup is reparsed as content, so elements inside an entity
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The XML 1.0 errata behaviors from the eduni burn-down: 3.3.3 attribute-
|
/// The XML 1.0 errata behaviors from the eduni burn-down: 3.3.3 attribute-
|
||||||
/// value normalization, the lenient undeclared-entity path (production 68),
|
/// value normalization, the lenient undeclared-entity path (production 68),
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML5 adoption agency (misnested formatting elements)")
|
@Suite("HTML5 adoption agency (misnested formatting elements)")
|
||||||
struct HTMLAdoptionTests {
|
struct HTMLAdoptionTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML5 document tree construction")
|
@Suite("HTML5 document tree construction")
|
||||||
struct HTMLDocumentTests {
|
struct HTMLDocumentTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML5 foreign content (SVG/MathML namespaces)")
|
@Suite("HTML5 foreign content (SVG/MathML namespaces)")
|
||||||
struct HTMLForeignContentTests {
|
struct HTMLForeignContentTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML5 frameset documents")
|
@Suite("HTML5 frameset documents")
|
||||||
struct HTMLFramesetTests {
|
struct HTMLFramesetTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML5 select content model")
|
@Suite("HTML5 select content model")
|
||||||
struct HTMLSelectTests {
|
struct HTMLSelectTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML")
|
@Suite("HTML")
|
||||||
struct HTMLTests {
|
struct HTMLTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML tokenizer: references, NUL, RCDATA")
|
@Suite("HTML tokenizer: references, NUL, RCDATA")
|
||||||
struct HTMLTokenizerTests {
|
struct HTMLTokenizerTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("HTML conformance validator (composable Validation rules)")
|
@Suite("HTML conformance validator (composable Validation rules)")
|
||||||
struct HTMLValidationTests {
|
struct HTMLValidationTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Line-ending normalization and XML 1.1")
|
@Suite("Line-ending normalization and XML 1.1")
|
||||||
struct LineEndingTests {
|
struct LineEndingTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The unified lint surface: one source-ranged, severity-tagged list merging
|
/// The unified lint surface: one source-ranged, severity-tagged list merging
|
||||||
/// parse recovery and schema validation, the way an editor consumes it.
|
/// parse recovery and schema validation, the way an editor consumes it.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Model")
|
@Suite("Model")
|
||||||
struct ModelTests {
|
struct ModelTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The Namespaces 1.0 constraints (#136): reserved prefixes and namespace
|
/// The Namespaces 1.0 constraints (#136): reserved prefixes and namespace
|
||||||
/// names, qualified-name shape, duplicate expanded-name attributes, NCName
|
/// names, qualified-name shape, duplicate expanded-name attributes, NCName
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Namespaces")
|
@Suite("Namespaces")
|
||||||
struct NamespaceTests {
|
struct NamespaceTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Output encoding")
|
@Suite("Output encoding")
|
||||||
struct OutputEncodingTests {
|
struct OutputEncodingTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Parity edges: C14N 2.0, catalog delegation, XPath number formatting")
|
@Suite("Parity edges: C14N 2.0, catalog delegation, XPath number formatting")
|
||||||
struct ParityEdgeTests {
|
struct ParityEdgeTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Parsing")
|
@Suite("Parsing")
|
||||||
struct ParsingTests {
|
struct ParsingTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Streaming patterns")
|
@Suite("Streaming patterns")
|
||||||
struct PatternTests {
|
struct PatternTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Locks the pull and push tokenizers together (#115): EventReader and the
|
/// Locks the pull and push tokenizers together (#115): EventReader and the
|
||||||
/// resumable PushScanner implement the XML token grammar twice, so the same
|
/// resumable PushScanner implement the XML token grammar twice, so the same
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Push parser")
|
@Suite("Push parser")
|
||||||
struct PushParserTests {
|
struct PushParserTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Quick-fixes derived from the structured schema completions, with precise
|
/// Quick-fixes derived from the structured schema completions, with precise
|
||||||
/// placement from content spans. The strongest check: applying a fix yields XML
|
/// placement from content spans. The strongest check: applying a fix yields XML
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The recovering reader (`PureXML.read`) never throws and never crashes: it
|
/// The recovering reader (`PureXML.read`) never throws and never crashes: it
|
||||||
/// returns the maximal best-effort tree plus one located diagnostic per problem.
|
/// returns the maximal best-effort tree plus one located diagnostic per problem.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Regex Unicode categories and class subtraction")
|
@Suite("Regex Unicode categories and class subtraction")
|
||||||
struct RegexCategoryTests {
|
struct RegexCategoryTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Regex")
|
@Suite("Regex")
|
||||||
struct RegexTests {
|
struct RegexTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG combine on define")
|
@Suite("RELAX NG combine on define")
|
||||||
struct RelaxNGCombineTests {
|
struct RelaxNGCombineTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG compact annotations and div grouping")
|
@Suite("RELAX NG compact annotations and div grouping")
|
||||||
struct RelaxNGCompactAnnotationTests {
|
struct RelaxNGCompactAnnotationTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG compact string concatenation")
|
@Suite("RELAX NG compact string concatenation")
|
||||||
struct RelaxNGCompactConcatTests {
|
struct RelaxNGCompactConcatTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG compact >> follow-annotations")
|
@Suite("RELAX NG compact >> follow-annotations")
|
||||||
struct RelaxNGCompactFollowAnnotationTests {
|
struct RelaxNGCompactFollowAnnotationTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG compact datatype parameter blocks")
|
@Suite("RELAX NG compact datatype parameter blocks")
|
||||||
struct RelaxNGCompactParamTests {
|
struct RelaxNGCompactParamTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG compact syntax and references")
|
@Suite("RELAX NG compact syntax and references")
|
||||||
struct RelaxNGCompactTests {
|
struct RelaxNGCompactTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG data param facets")
|
@Suite("RELAX NG data param facets")
|
||||||
struct RelaxNGDataParamTests {
|
struct RelaxNGDataParamTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG datatypeLibrary resolution and nsName subtraction")
|
@Suite("RELAX NG datatypeLibrary resolution and nsName subtraction")
|
||||||
struct RelaxNGDatatypeLibraryTests {
|
struct RelaxNGDatatypeLibraryTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG located, recovering validation errors")
|
@Suite("RELAX NG located, recovering validation errors")
|
||||||
struct RelaxNGLocatedErrorTests {
|
struct RelaxNGLocatedErrorTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG compact name-class subtraction")
|
@Suite("RELAX NG compact name-class subtraction")
|
||||||
struct RelaxNGNameClassTests {
|
struct RelaxNGNameClassTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The QName datatype's dual-context value space (#131): the schema side
|
/// The QName datatype's dual-context value space (#131): the schema side
|
||||||
/// resolves the literal against the schema's xmlns/ns scope at compile, and
|
/// resolves the literal against the schema's xmlns/ns scope at compile, and
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Schema-correctness validation (#131): a RELAX NG schema document must
|
/// Schema-correctness validation (#131): a RELAX NG schema document must
|
||||||
/// itself match the RELAX NG grammar (section 3) and the restrictions of
|
/// itself match the RELAX NG grammar (section 3) and the restrictions of
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Opt-in runner for James Clark's RELAX NG spec test suite (`spectest.xml`,
|
/// Opt-in runner for James Clark's RELAX NG spec test suite (`spectest.xml`,
|
||||||
/// distributed with jing-trang under its BSD license). Point `RNG_TS_ROOT` at
|
/// distributed with jing-trang under its BSD license). Point `RNG_TS_ROOT` at
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG streaming validation")
|
@Suite("RELAX NG streaming validation")
|
||||||
struct RelaxNGStreamingTests {
|
struct RelaxNGStreamingTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG")
|
@Suite("RELAX NG")
|
||||||
struct RelaxNGTests {
|
struct RelaxNGTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("RELAX NG typed <value> value-space comparison")
|
@Suite("RELAX NG typed <value> value-space comparison")
|
||||||
struct RelaxNGValueSpaceTests {
|
struct RelaxNGValueSpaceTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("SAX")
|
@Suite("SAX")
|
||||||
struct SAXTests {
|
struct SAXTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("Save options")
|
@Suite("Save options")
|
||||||
struct SaveOptionsTests {
|
struct SaveOptionsTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Scalar-level lexing (#135): a combining mark directly after an ASCII
|
/// Scalar-level lexing (#135): a combining mark directly after an ASCII
|
||||||
/// delimiter must not merge with it into one grapheme cluster, so Fifth
|
/// delimiter must not merge with it into one grapheme cluster, so Fifth
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// An `xsi:type` may not name an abstract type: an abstract type cannot be the
|
/// An `xsi:type` may not name an abstract type: an abstract type cannot be the
|
||||||
/// type of an instance element (cvc-elt.4.3.2), so it is invalid as a substitution
|
/// type of an instance element (cvc-elt.4.3.2), so it is invalid as a substitution
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XSD all-group placement (cos-all-limited)")
|
@Suite("XSD all-group placement (cos-all-limited)")
|
||||||
struct SchemaAllGroupPlacementTests {
|
struct SchemaAllGroupPlacementTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// A constraining facet may not be applied where a `simpleContent` restriction's base
|
/// A constraining facet may not be applied where a `simpleContent` restriction's base
|
||||||
/// chain resolves to `xs:anySimpleType`, the ur simple type, which carries no
|
/// chain resolves to `xs:anySimpleType`, the ur simple type, which carries no
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// The ur-type `xsd:anyType` processes its element and attribute wildcards as
|
/// The ur-type `xsd:anyType` processes its element and attribute wildcards as
|
||||||
/// `lax`, not `skip` (XSD 1.0 §3.4.7). A child or attribute of an untyped element
|
/// `lax`, not `skip` (XSD 1.0 §3.4.7). A child or attribute of an untyped element
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XSD attribute default requires use=optional (src-attribute.2)")
|
@Suite("XSD attribute default requires use=optional (src-attribute.2)")
|
||||||
struct SchemaAttributeDefaultUseTests {
|
struct SchemaAttributeDefaultUseTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// An `<xs:attribute ref="...">` resolves to a global attribute declaration,
|
/// An `<xs:attribute ref="...">` resolves to a global attribute declaration,
|
||||||
/// taking its type from the global node and its use/default/fixed from the
|
/// taking its type from the global node and its use/default/fixed from the
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XSD attribute-use restriction (cos-ct-derived-ok)")
|
@Suite("XSD attribute-use restriction (cos-ct-derived-ok)")
|
||||||
struct SchemaAttributeRestrictionTests {
|
struct SchemaAttributeRestrictionTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XSD attribute-use uniqueness and single ID")
|
@Suite("XSD attribute-use uniqueness and single ID")
|
||||||
struct SchemaAttributeUniquenessTests {
|
struct SchemaAttributeUniquenessTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// A complex type's effective `{attribute wildcard}` is the INTERSECTION of the
|
/// A complex type's effective `{attribute wildcard}` is the INTERSECTION of the
|
||||||
/// wildcards it draws from its own `anyAttribute` and from each referenced
|
/// wildcards it draws from its own `anyAttribute` and from each referenced
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// A schema `blockDefault` supplies the `{disallowed substitutions}` of an element
|
/// A schema `blockDefault` supplies the `{disallowed substitutions}` of an element
|
||||||
/// and the `{prohibited substitutions}` of a complex type that state no `block` of
|
/// and the `{prohibited substitutions}` of a complex type that state no `block` of
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
@Suite("XSD circular type derivation")
|
@Suite("XSD circular type derivation")
|
||||||
struct SchemaCircularDerivationTests {
|
struct SchemaCircularDerivationTests {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Cross-cutting conformance fixtures for both schema languages: realistic
|
/// Cross-cutting conformance fixtures for both schema languages: realistic
|
||||||
/// schemas validated against valid and invalid instances.
|
/// schemas validated against valid and invalid instances.
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
@testable import PureXML
|
|
||||||
import Testing
|
import Testing
|
||||||
|
@testable import PureXML
|
||||||
|
|
||||||
/// Content-model order and cardinality for the derivation contexts whose model
|
/// Content-model order and cardinality for the derivation contexts whose model
|
||||||
/// the set-membership table cannot express: a `simpleContent` derivation (facets
|
/// the set-membership table cannot express: a `simpleContent` derivation (facets
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user