<!DOCTYPE HTML>
<html>
<head>
  <title>window.console test</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
</head>

<body id="body">

<script type="application/javascript">

function doTest() {
  ok(window.console, "console exists");

  try {
    ok(!console.foo, "random property doesn't throw");
  } catch (ex) {
    ok(false, "random property threw: " + ex);
  }

  var expectedProps = {
    "log": "function",
    "info": "function",
    "warn": "function",
    "error": "function",
    "exception": "function",
    "debug": "function",
    "trace": "function",
    "dir": "function",
    "group": "function",
    "groupCollapsed": "function",
    "groupEnd": "function",
    "time": "function",
    "timeLog": "function",
    "timeEnd": "function",
    "profile": "function",
    "profileEnd": "function",
    "assert": "function",
    "count": "function",
    "countReset": "function",
    "table": "function",
    "clear": "function",
    "dirxml": "function",
    "timeStamp": "function",
  };

  var foundProps = 0;
  for (var prop in console) {
    foundProps++;
    is(typeof(console[prop]), expectedProps[prop], "expect console prop " + prop + " exists");
  }
  is(foundProps, Object.keys(expectedProps).length, "found correct number of properties");

  SimpleTest.finish();
}

SimpleTest.waitForExplicitFinish();
addLoadEvent(doTest);

</script>

<p id="display"></p>

</body>
</html>
