Skip to content

Commit f37b56f

Browse files
committed
Updated readme
1 parent 709f09e commit f37b56f

File tree

1 file changed

+8
-31
lines changed

1 file changed

+8
-31
lines changed

README.md

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,11 @@
1-
Steps in finding differences:
1+
# AngleSharp.Diffing
2+
This library makes it possible to compare a AngleSharp _control_ `INodeList` and a _test_ `INodeList` and get a list of differences between them.
23

3-
```
4-
var diffs : []
5-
var currentPath : string
6-
var controlNodes : []
7-
var testNodes : []
8-
foreach (ctrlNode, index) in controlNodes
9-
if(shouldSkip(ctrlNode)) continue;
4+
The _control_ nodes represents the expected, i.e. how the nodes are expected to look, and the _test_ nodes represents the other nodes
5+
that should be compared to the _control_ nodes.
106

11-
ctrlSource = {ctrlNode, index, currentPath}
12-
testNode = nodeMatcher(ctrlSource)
7+
## Usage
138

14-
15-
testSource =
16-
17-
18-
nodeMatcher() ->
19-
```
20-
21-
22-
23-
- NodeFilter - filters away nodes that should not be part of the comparison
24-
- Inline filter(ignorer)
25-
- NodeMatcher - matches a control-node with a test-node for comparison
26-
- Compare nodes by:
27-
- AttributeFilter - filters away attributes not compared
28-
- Inline filter(ignorer)
29-
- AttributeMatcher - matches control-attr with test-attr for comparison
30-
- Inline matcher(css selector)
31-
- For each attribute-compare set:
32-
- apply attribute compare function
33-
- apply inline-attribute-compare function
34-
- For each child-node - compare recursively between control and test child-nodes
9+
## Difference engine steps
10+
The heart of the library is the `HtmlDifferenceEngine`, which goes through the following steps to determine if the
11+
control `INodeList` is the same as the test `INodeList`.

0 commit comments

Comments
 (0)