/// <summary> /// Enables the basic name and value attribute comparer during diffing. /// </summary> public static IDiffingStrategyCollection AddAttributeComparer(this IDiffingStrategyCollection builder) { builder.AddMatcher(PostfixedAttributeMatcher.Match, StrategyType.Specialized); builder.AddComparer(AttributeComparer.Compare, StrategyType.Generalized); builder.AddComparer(IgnoreAttributeComparer.Compare, StrategyType.Specialized); return(builder); }
/// <summary> /// Sets up the diffing process using the default options. /// </summary> public static IDiffingStrategyCollection AddDefaultOptions(this IDiffingStrategyCollection builder) { return(builder .IgnoreDiffAttributes() .IgnoreComments() .AddSearchingNodeMatcher() .AddCssSelectorMatcher() .AddAttributeNameMatcher() .AddElementComparer() .AddIgnoreElementSupport() .AddStyleSheetComparer() .AddTextComparer(WhitespaceOption.Normalize, ignoreCase: false) .AddAttributeComparer() .AddClassAttributeComparer() .AddBooleanAttributeComparer(BooleanAttributeComparision.Strict) .AddStyleAttributeComparer()); ; }
/// <summary> /// Enables the special style attributes comparer during diffing. /// </summary> public static IDiffingStrategyCollection AddStyleAttributeComparer(this IDiffingStrategyCollection builder) { builder.AddComparer(StyleAttributeComparer.Compare, StrategyType.Specialized); return(builder); }
/// <summary> /// Enables the special boolean attribute comparer during diffing. /// </summary> public static IDiffingStrategyCollection AddBooleanAttributeComparer(this IDiffingStrategyCollection builder, BooleanAttributeComparision booleanAttributeComparision) { builder.AddComparer(new BooleanAttributeComparer(booleanAttributeComparision).Compare, StrategyType.Specialized); return(builder); }
/// <summary> /// Enables the name-based attribute matching strategy during diffing. /// </summary> public static IDiffingStrategyCollection AddAttributeNameMatcher(this IDiffingStrategyCollection builder) { builder.AddMatcher(AttributeNameMatcher.Match, StrategyType.Generalized); return(builder); }
/// <summary> /// Enables the basic comment comparer, that checks if two nodes are comment nodes. It does not check the /// content of the comment. /// </summary> public static IDiffingStrategyCollection AddCommentComparer(this IDiffingStrategyCollection builder) { builder.AddComparer(CommentComparer.Compare, StrategyType.Generalized); return(builder); }
/// <summary> /// Enables ignoring of the special "diff"-attributes during diffing. /// </summary> public static IDiffingStrategyCollection IgnoreDiffAttributes(this IDiffingStrategyCollection builder) { builder.AddFilter(IgnoreDiffAttributesFilter.Filter, StrategyType.Specialized); return(builder); }
/// <summary> /// Enables the one-to-one node-matching strategy during diffing. /// </summary> public static IDiffingStrategyCollection AddTextComparer(this IDiffingStrategyCollection builder, WhitespaceOption whitespaceOption, bool ignoreCase) { builder.AddFilter(new TextNodeFilter(whitespaceOption).Filter, StrategyType.Specialized); builder.AddComparer(new TextNodeComparer(whitespaceOption, ignoreCase).Compare, StrategyType.Specialized); return(builder); }
/// <summary> /// Enables the ignore element `diff:ignore` attribute during diffing. /// </summary> /// <param name="builder"></param> /// <returns></returns> public static IDiffingStrategyCollection AddIgnoreElementSupport(this IDiffingStrategyCollection builder) { builder.AddComparer(IgnoreElementComparer.Compare, StrategyType.Specialized); return(builder); }
/// <summary> /// Enables the CSS-selector matcher strategy during diffing. /// </summary> public static IDiffingStrategyCollection AddCssSelectorMatcher(this IDiffingStrategyCollection builder) { builder.AddMatcher(CssSelectorElementMatcher.Match, StrategyType.Specialized); return(builder); }
/// <summary> /// Enables the forward-searching node-matcher strategy during diffing. /// </summary> public static IDiffingStrategyCollection AddSearchingNodeMatcher(this IDiffingStrategyCollection builder) { builder.AddMatcher(ForwardSearchingNodeMatcher.Match, StrategyType.Generalized); return(builder); }
/// <summary> /// Enables the one-to-one node-matching strategy during diffing. /// </summary> public static IDiffingStrategyCollection AddOneToOneNodeMatcher(this IDiffingStrategyCollection builder) { builder.AddMatcher(OneToOneNodeMatcher.Match, StrategyType.Generalized); return(builder); }