<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Performance Timeline IDL tests</title>
<link rel="author" title="W3C" href="http://www.w3.org/" />
<link rel="help" href="http://www.w3.org/TR/performance-timeline/#performanceentry"/>
<link rel="help" href="http://www.w3.org/TR/performance-timeline/#performance"/>
<link rel="help" href="http://www.w3.org/TR/performance-timeline/#performanceentrylist"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
</head>
<body>
<h1>Performance Timeline IDL tests</h1>
<div id="log"></div>

<pre id='untested_idl' style='display:none'>
interface Performance {
};
</pre>

<pre id='idl'>
interface PerformanceEntry {
  readonly attribute DOMString name;
  readonly attribute DOMString entryType;
  readonly attribute DOMHighResTimeStamp startTime;
  readonly attribute DOMHighResTimeStamp duration;
};

partial interface Performance {
  PerformanceEntryList getEntries();
  PerformanceEntryList getEntriesByType(DOMString entryType);
  PerformanceEntryList getEntriesByName(DOMString name, optional DOMString entryType);
};

typedef sequence &lt;PerformanceEntry> PerformanceEntryList;
</pre>

<script>
var idl_array;
setup(function() {
  idl_array = new IdlArray();
  idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
  idl_array.add_idls(document.getElementById("idl").textContent);
  idl_array.add_objects({
    Performance: ["window.performance"]
  });
});
idl_array.test();
</script>
</body>
</html>
