<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>XMLHttpRequest: the LOADING state change should only happen once</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-send()-method" data-tested-assertations="following::ol[1]/li[10]/dt[1]">
<link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#infrastructure-for-the-send()-method" data-tested-assertations="following::dt[7] following::a[contains(@href,'#switch-loading')]/..">
<link rel="help" href="http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#switch-loading" data-tested-assertations="following::ol[1]/li[1] following::ol[1]/li[2]">
</head>
<div id="log"></div>
<script>
var test = async_test();
test.step(function() {
var client = new XMLHttpRequest();
var countedLoading = 0;
client.onreadystatechange = test.step_func(function() {
if (client.readyState === 3) {
countedLoading += 1;
}
if (client.readyState === 4) {
assert_equals(countedLoading, 1, "LOADING state change may only be emitted once");
test.done();
}
});
client.open("GET", "resources/trickle.py?count=1000");
client.send(null);
});
</script>