Class DifferenceEvaluators


  • public final class DifferenceEvaluators
    extends java.lang.Object
    Evaluators used for the base cases.
    • Field Detail

      • CDATA

        private static final java.lang.Short CDATA
      • TEXT

        private static final java.lang.Short TEXT
      • Accept

        public static final DifferenceEvaluator Accept
        Difference evaluator that just echos the result passed in.
      • Default

        public static final DifferenceEvaluator Default
        The "standard" difference evaluator which decides which differences make two XML documents really different and which still leave them similar.
    • Constructor Detail

      • DifferenceEvaluators

        private DifferenceEvaluators()
    • Method Detail

      • chain

        public static DifferenceEvaluator chain​(DifferenceEvaluator... evaluators)
        Combines multiple DifferenceEvaluators so that the result of the first Evaluator will be passed to the next Evaluator.
      • downgradeDifferencesToEqual

        public static DifferenceEvaluator downgradeDifferencesToEqual​(ComparisonType... types)
        Creates a DifferenceEvaluator that returns a EQUAL result for differences found in one of the given ComparisonTypes.
        Since:
        XMLUnit 2.1.0
      • downgradeDifferencesToSimilar

        public static DifferenceEvaluator downgradeDifferencesToSimilar​(ComparisonType... types)
        Creates a DifferenceEvaluator that returns a SIMILAR result for differences (Comparisons that are not EQUAL) found in one of the given ComparisonTypes.
        Since:
        XMLUnit 2.1.0
      • upgradeDifferencesToDifferent

        public static DifferenceEvaluator upgradeDifferencesToDifferent​(ComparisonType... types)
        Creates a DifferenceEvaluator that returns a DIFFERENT result for differences (Comparisons that are not EQUAL) found in one of the given ComparisonTypes.
        Since:
        XMLUnit 2.1.0
      • ignorePrologDifferences

        public static DifferenceEvaluator ignorePrologDifferences()
        Ignore any differences that are part of the XML prolog.

        Here "ignore" means return ComparisonResult.EQUAL.

        Since:
        XMLUnit 2.1.0
      • ignorePrologDifferencesExceptDoctype

        public static DifferenceEvaluator ignorePrologDifferencesExceptDoctype()
        Ignore any differences except differences inside the doctype declaration that are part of the XML prolog.

        Here "ignore" means return ComparisonResult.EQUAL.

        This is one of the building blocks for mimicing the behavior of XMLUnit for Java 1.x. In order to get the same behavior you need:

         chain(Default, // so CDATA and Text are the same
               ignorePrologDifferencesExceptDoctype()) // so most of the prolog is ignored
         

        In general different doctype declarations will be ignored because of NodeFilters.Default, so if you want to detect these differences you need to pick a different NodeFilter.

        Since:
        XMLUnit 2.1.0
      • belongsToProlog

        private static boolean belongsToProlog​(Comparison comparison,
                                               boolean ignoreDoctypeDeclarationAsWell)
      • belongsToProlog

        private static boolean belongsToProlog​(org.w3c.dom.Node n,
                                               boolean ignoreDoctypeDeclarationAsWell)
      • isSequenceOfRootElement

        private static boolean isSequenceOfRootElement​(Comparison comparison)