<html>
<head>
<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
<script src="../../fast/js/resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>

description("This tests to make sure we have all the font-face related dom bindings.");

function stringsShouldBeEqual(a, b) {
  
}

function checkForBinding(namespace, elementName, className) {
  var element = document.createElementNS(namespace, elementName);
  if (element.toString() == "[object " + className + "]") {
    testPassed(elementName + " in " + namespace + " is JS object " + className);
  } else {
    testFailed(elementName + " in " + namespace + " is NOT JS object " + className + ", rather: " + element);
  }
}

var svgNs = "http://www.w3.org/2000/svg";

checkForBinding(svgNs, "font-face", "SVGFontFaceElement");
checkForBinding(svgNs, "font-face-name", "SVGFontFaceNameElement");
checkForBinding(svgNs, "font-face-format", "SVGFontFaceFormatElement");
checkForBinding(svgNs, "font-face-src", "SVGFontFaceSrcElement");
checkForBinding(svgNs, "font-face-uri", "SVGFontFaceUriElement");
checkForBinding(svgNs, "definition-src", "SVGDefinitionSrcElement");

successfullyParsed = true;

</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>
