package equals
- Alphabetic
- Public
- All
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