<!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" x="10" y="10" 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 x1;
  var x2;
  
  {
    var rect = document.getElementById("rect");
    x1 = rect.x;
    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));

    debugLog("removing rect from document");
    rect.parentNode.removeChild(rect);
  }

  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));
  
  debugLog("modifying, x1.baseVal = 100");
  try {
    x1.baseVal.value = 100;
  } catch(e) {
    debugLog("x1.baseVal = 100 threw exception: " + e);
  }
  
  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>
