<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html 
xmlns="http://www.w3.org/1999/xhtml" 
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<body>
  <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <rect width="100" height="100" fill="blue" />
    <rect id="rect" width="100" height="100" fill="red" />
 </svg>
 
<div id="log"></div>
<script type="text/javascript"><![CDATA[

  if (window.layoutTestController)
    layoutTestController.dumpAsText();

  function debugLog(s) {
    var logDiv = document.getElementById("log");
    logDiv.appendChild(document.createTextNode(s));
    logDiv.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "br"));
  }

  var rect = document.getElementById("rect");
  var x1 = rect.x;
  var x2 = rect.x;
  
  debugLog("x1: " + x1);
  debugLog("x2: " + x2);
  debugLog("x1.baseVal : " + x1.baseVal);
  debugLog("x2.baseVal : " + x2.baseVal);
  debugLog("x1.baseVal.value : " + x1.baseVal.value);
  debugLog("x2.baseVal.value : " + x2.baseVal.value);
  debugLog("x1 == x2: " + (x1 == x2));
  debugLog("x1 === x2: " + (x1 === x2));
  debugLog("x1.baseVal == x2.baseVal: " + (x1.baseVal == x2.baseVal));
  debugLog("x1.baseVal === x2.baseVal: " + (x1.baseVal === x2.baseVal));
  
  x1.baseVal.value = 100;
  
  debugLog("x1: " + x1);
  debugLog("x2: " + x2);
  debugLog("x1.baseVal : " + x1.baseVal);
  debugLog("x2.baseVal : " + x2.baseVal);
  debugLog("x1.baseVal.value : " + x1.baseVal.value);
  debugLog("x2.baseVal.value : " + x2.baseVal.value);
  debugLog("x1 == x2: " + (x1 == x2));
  debugLog("x1 === x2: " + (x1 === x2));
  debugLog("x1.baseVal == x2.baseVal: " + (x1.baseVal == x2.baseVal));
  debugLog("x1.baseVal === x2.baseVal: " + (x1.baseVal === x2.baseVal));
  
]]></script>
</body>
</html>
