Tests that DOMNode properly tracks own and descendants' user properties. attr1 set on aNode - [subtreeMarkerCount:1] - - [subtreeMarkerCount:1] -
[subtreeMarkerCount:1]
-
[subtreeMarkerCount:1] Third-level node [markers:[attr1=true], subtreeMarkerCount:1]
attr2 set on child2 - [subtreeMarkerCount:2] - - [subtreeMarkerCount:2] -
[subtreeMarkerCount:2]
-
[markers:[attr2=value], subtreeMarkerCount:2] Third-level node [markers:[attr1=true], subtreeMarkerCount:1]
attr1 set on child2 - [subtreeMarkerCount:3] - - [subtreeMarkerCount:3] -
[subtreeMarkerCount:3]
-
[markers:[attr2=value,attr1=true], subtreeMarkerCount:3] Third-level node [markers:[attr1=true], subtreeMarkerCount:1]
attr1 modified on aNode - [subtreeMarkerCount:3] - - [subtreeMarkerCount:3] -
[subtreeMarkerCount:3]
-
[markers:[attr2=value,attr1=true], subtreeMarkerCount:3] Third-level node [markers:[attr1=anotherValue], subtreeMarkerCount:1]
attr2 modified on child2 - [subtreeMarkerCount:3] - - [subtreeMarkerCount:3] -
[subtreeMarkerCount:3]
-
[markers:[attr2=anotherValue,attr1=true], subtreeMarkerCount:3] Third-level node [markers:[attr1=anotherValue], subtreeMarkerCount:1]
attr1 removed from aNode - [subtreeMarkerCount:2] - - [subtreeMarkerCount:2] -
[subtreeMarkerCount:2]
-
[markers:[attr2=anotherValue,attr1=true], subtreeMarkerCount:2] Third-level node
aNode removed - [subtreeMarkerCount:2] - - [subtreeMarkerCount:2] -
[subtreeMarkerCount:2]
[markers:[attr2=anotherValue,attr1=true], subtreeMarkerCount:2]
child2 removed - [subtreeMarkerCount:2] - - [subtreeMarkerCount:2] -