56 lines
1.2 KiB
HTML
56 lines
1.2 KiB
HTML
<html>
|
|
<body>
|
|
<div>
|
|
This test checks to make sure the hashchange event is fired __ansynchronously__ when the value of location.hash changes.<br/>
|
|
It assumes there is a hashchange event for each location.hash change.<br/>
|
|
<br/>
|
|
</div>
|
|
<div id="msg"></div>
|
|
</body>
|
|
<script language="javascript">
|
|
<!--
|
|
|
|
var hashChanging = false;
|
|
var failed = false;
|
|
var msgs = [];
|
|
|
|
var lc = window.testRunner;
|
|
if (lc) {
|
|
lc.dumpAsText();
|
|
lc.waitUntilDone();
|
|
}
|
|
|
|
function updateHash (hash) {
|
|
msgs.push('updateHash("' + hash + '")');
|
|
location.href = hash;
|
|
};
|
|
|
|
function loadHandler () {
|
|
hashChanging = true;
|
|
updateHash('#foo');
|
|
updateHash('#bar');
|
|
hashChanging = false;
|
|
};
|
|
|
|
var cnt = 0;
|
|
function hashChangeHandler () {
|
|
msgs.push('hashChangeHandler()');
|
|
if (hashChanging) {
|
|
failed = true;
|
|
}
|
|
if (++cnt == 2) {
|
|
msgs.push('', failed ? "FAILURE" : "SUCCESS");
|
|
document.getElementById("msg").innerHTML = msgs.join('<br/>');
|
|
if (lc) {
|
|
lc.notifyDone();
|
|
}
|
|
}
|
|
};
|
|
|
|
window.addEventListener('load', loadHandler, false);
|
|
window.addEventListener('hashchange', hashChangeHandler, false);
|
|
|
|
//-->
|
|
</script>
|
|
</html>
|