Tests that DOMNode properly tracks own and descendants' user properties.

attr1 set on aNode
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=1]]
              <div id="child1"></div>
            - <div id="child2"> [descendantUserAttributeCounters:[attr1=1]]
                  <a href="#" id="aNode">Third-level node</a> [userProperties:[attr1=true]]
              </div>
          </div>
      </body>
  </html>
attr2 set on child2
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
              <div id="child1"></div>
            - <div id="child2"> [userProperties:[attr2=value], descendantUserAttributeCounters:[attr1=1]]
                  <a href="#" id="aNode">Third-level node</a> [userProperties:[attr1=true]]
              </div>
          </div>
      </body>
  </html>
attr1 set on child2
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
              <div id="child1"></div>
            - <div id="child2"> [userProperties:[attr2=value,attr1=true], descendantUserAttributeCounters:[attr1=1]]
                  <a href="#" id="aNode">Third-level node</a> [userProperties:[attr1=true]]
              </div>
          </div>
      </body>
  </html>
attr1 modified on aNode
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
              <div id="child1"></div>
            - <div id="child2"> [userProperties:[attr2=value,attr1=true], descendantUserAttributeCounters:[attr1=1]]
                  <a href="#" id="aNode">Third-level node</a> [userProperties:[attr1=anotherValue]]
              </div>
          </div>
      </body>
  </html>
attr2 modified on child2
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=2,attr2=1]]
              <div id="child1"></div>
            - <div id="child2"> [userProperties:[attr2=anotherValue,attr1=true], descendantUserAttributeCounters:[attr1=1]]
                  <a href="#" id="aNode">Third-level node</a> [userProperties:[attr1=anotherValue]]
              </div>
          </div>
      </body>
  </html>
attr1 removed from aNode
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
              <div id="child1"></div>
            - <div id="child2"> [userProperties:[attr2=anotherValue,attr1=true]]
                  <a href="#" id="aNode">Third-level node</a>
              </div>
          </div>
      </body>
  </html>
aNode removed
      <!DOCTYPE html>
- <html> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()"> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container"> [descendantUserAttributeCounters:[attr1=1,attr2=1]]
              <div id="child1"></div>
            - <div id="child2"> [userProperties:[attr2=anotherValue,attr1=true]]
              </div>
          </div>
        + <div>…</div>
      </body>
  </html>
child2 removed
      <!DOCTYPE html>
- <html>
    - <head>
          <script src="../../http/tests/inspector/inspector-test.js"></script>
          <script src="../../http/tests/inspector/elements-test.js"></script>
          <script src="resources/user-properties.js"></script>
      </head>
    - <body onload="runTest()">
          <p>\nTests that DOMNode properly tracks own and descendants' user properties.\n</p>
        - <div id="container">
              <div id="child1"></div>
          </div>
        + <div>…</div>
      </body>
  </html>

