package equals
- Alphabetic
- Public
- Protected
Type Members
- class AttributeComparison extends XmlComparison[Attribute]
Comparison between attributes, requires an Equal type class for QNames
- sealed trait AttributeDifference extends XmlDifference[Attribute]
- case class AttributeNameDifference(left: Attribute, right: Attribute) extends AttributeDifference with Product with Serializable
- case class AttributeValueDifference(left: Attribute, right: Attribute) extends AttributeDifference with Product with Serializable
- class AttributesComparison extends XmlComparison[xml.Attributes]
Comparison for attributes, requires a comparison for individual attributes, allowing flexible definitions of equality
- sealed trait AttributesDifference extends XmlDifference[xml.Attributes]
- class ComparisonContext extends AnyRef
ComparisonContext represents both the path to a given comparison and the namespace declarations which are relevant for it.
- trait ComparisonContextImplicits extends AnyRef
Provides an immplicit to easily access the head QName in a path
- trait DefaultAttributeEquals extends AnyRef
- trait DefaultAttributesEquals extends AnyRef
- trait DefaultDocLikeEquals extends AnyRef
- trait DefaultElemEquals extends AnyRef
- trait DefaultItemEquals extends AnyRef
- trait DefaultQNameEquals extends AnyRef
- trait DefaultQNameToken extends AnyRef
- trait DefaultStreamEquals extends StreamEquals
Streams compared after transforming via joinTextAndCData
- trait DefaultXmlEquals extends DefaultItemEquals with DefaultAttributeEquals with DefaultAttributesEquals with DefaultElemEquals with DefaultStreamEquals with QNameEquals with DefaultQNameToken with DefaultDocLikeEquals
All CData nodes are converted to text nodes, adjoining Text nodes (including CData) are joined.
- case class DifferentNumberOfAttributes(left: xml.Attributes, right: xml.Attributes) extends AttributesDifference with Product with Serializable
Their size is different
- case class DifferentNumberOfMiscs(left: xml.Miscs, right: xml.Miscs, isProlog: Boolean) extends XmlDifference[xml.Miscs] with Product with Serializable
- case class DifferentTypes(left: xml.PullType, right: xml.PullType) extends XmlDifference[xml.PullType] with Product with Serializable
When types are different, or an end element vs XmlEvent
- case class DifferentValueAttributes(left: xml.Attributes, right: xml.Attributes, differentValue: Attribute) extends AttributesDifference with Product with Serializable
Re-packs the AttributeValueDifference, but will only occur when the attributes QName is present
- class DocLikeComparison[T, B] extends XmlComparison[T]
Compares neither of the version, DTD nor encoding of a document, but prolog and end misc.
Compares neither of the version, DTD nor encoding of a document, but prolog and end misc. Requires a @T that can be converted to a DocLike and a body @B. B must have an XmlComparison available and there must exist conversions from T to DocLike and T to B.
- abstract class DocLikeWrapper[T] extends AnyRef
Wrap the creation of doclike things
- class DocLikeWrapperBase[T, B] extends DocLikeWrapper[T]
Base wrapper for most usecases, extra type is here to keep lookup working
- case class ElemAttributeDifference(left: Elem, right: Elem, attributesDifference: AttributesDifference) extends ElemDifference with Product with Serializable
If the difference is due to an attribute thats included as well
- class ElemComparison extends XmlComparison[Elem]
Namespaces by default are not compared.
Namespaces by default are not compared. They aren't marked as implicit as you really have to be explicitly wanting to compare them.
An Attributes comparison and a QName Equal instance are required. This also allows, for example, specification of equality using prefixes for the Elem, but not on the Attributes.
- sealed trait ElemDifference extends XmlDifference[Elem]
- case class ElemNameDifference(left: Elem, right: Elem) extends ElemDifference with Product with Serializable
- case class ElemNamespacesDifference(left: Elem, right: Elem) extends ElemDifference with Product with Serializable
This can only be returned when an ElemComparisom has been suplied with a custom namespaces implementation.
- case class EndElemNameDifference(left: EndElem, right: EndElem) extends XmlDifference[EndElem] with Product with Serializable
- trait ExactQName extends AnyRef
- trait ExactStreamEquals extends StreamEquals
- trait ExactXmlEquals extends DefaultItemEquals with DefaultAttributeEquals with DefaultAttributesEquals with DefaultElemEquals with ExactStreamEquals with QNameEquals with DefaultQNameToken
All default exact Xml Equal and XmlComparison trait instances.
All default exact Xml Equal and XmlComparison trait instances.
CData, Comments, PI are all kept as is, DTD, encoding and prolog etc are not. Text nodes are not joined. Use LogicalXmlEquals to focus more on content only.
- trait FromEqualsImplicit extends AnyRef
- case class ItemDifference(left: XmlItem, right: XmlItem) extends XmlDifference[XmlItem] with Product with Serializable
- class JoinTextAndCData extends Iterator[xml.PullType]
Modifies the stream to turn CData nodes into Text nodes and join all adjacent Text nodes togeter i.e.
Modifies the stream to turn CData nodes into Text nodes and join all adjacent Text nodes togeter i.e. a "tree" with children (Text, CData, Text, CData) will become a single Text child.
CData can be kept if keepCData is set to true
- case class MiscDifference(left: xml.Misc, right: xml.Misc, isProlog: Boolean) extends XmlDifference[xml.Misc] with Product with Serializable
- case class MiscDifferentTypes(left: xml.Misc, right: xml.Misc, isProlog: Boolean) extends XmlDifference[xml.Misc] with Product with Serializable
- case class MissingAttributes(left: xml.Attributes, right: xml.Attributes, missing: Attribute) extends AttributesDifference with Product with Serializable
The size is the same but one of lefts qnames is not present in right
- class PathAsPullTypeIterable extends AbstractPathIterator[XmlItem, Elem, xml.XCC, xml.PullType]
Makes the given path the top path
- class QNameComparison extends XmlComparison[QName]
Only added to provide a complete
compareset - case class QNameDifference(left: QName, right: QName) extends XmlDifference[QName] with Product with Serializable
- trait QNameEquals extends AnyRef
- class StreamComparable[T] extends AnyRef
This interface allows for non xml matching, for example a forward Iterator from a Text child.
This interface allows for non xml matching, for example a forward Iterator from a Text child. This would be impossible to model as an xml document, but could be useful for comparison.
This trait boxes a given conversion, stopping accidental serialize calls on the resulting streams.
- trait StreamComparableImplicits extends TheyReallyAreIterators
Collection of all implicit conversions to StreamComparables.
Collection of all implicit conversions to StreamComparables.
NOTE: The results are only usable with compare / ===, and should not be used to serialize
- class StreamComparison extends XmlComparison[StreamComparable[_]]
Compares based on streams.
Compares based on streams. Requires comparisons for XmlItem, Elem and a QName Equal instance for testing EndElems.
- class StreamComparisonWrapper[T] extends XmlComparison[T]
Wraps a given T with a conversion from T to an xml stream
- trait StreamEquals extends AnyRef
- trait TheyReallyAreIterators extends AnyRef
For Iterator[PullType]s that actually are, lets help the inference and implicit lookup out
- trait XmlComparison[-T] extends AnyRef
Like Equals but also gives a path in addition to the fun reason
- sealed trait XmlDifference[X] extends AnyRef
Why did equality fail, pattern match fun
- trait XmlEquals extends AnyRef
Base functions for equality
- class XmlItemComparison extends XmlComparison[XmlItem]
Compares XmlItems, providing Some qnameTokenComparison will force that to be used to decide if qname comparison should be used or not
Value Members
- object AttributeEquals extends DefaultAttributeEquals with DefaultQNameEquals
- object AttributesEquals extends DefaultAttributesEquals with DefaultAttributeEquals with DefaultQNameEquals
- object BasicPaths
- object ComparisonContext
- object DefaultQNameToken extends DefaultQNameToken
- object DefaultStreamEquals extends DefaultStreamEquals
- object DefaultXmlEquals extends DefaultXmlEquals
- object ElemEqualHelpers
- object ElemEquals extends DefaultElemEquals with DefaultAttributesEquals with DefaultAttributeEquals with DefaultQNameEquals
- object ExactQName extends ExactQName
Comparisoms built on exact qname comparisom, prefixes can be important for some systems
- object ExactStreamEquals extends ExactStreamEquals
- object ExactXmlEquals extends ExactXmlEquals
Provides simple access to ExactXmlEquals
- object ItemEquals extends DefaultItemEquals
- object LogicalFilters
A collection of stream filters to help with equality
- object QNameEquals extends DefaultQNameEquals with QNameEquals
- object SomeDifference extends XmlDifference[AnyRef]
Magik object for when we aren't attempting to calculate whats wrong
- object XmlEquals extends XmlEquals
Make it available without dragging the rest of the world in