<!DOCTYPE>
<html>
<body>
<script src="../resources/common.js"></script>
<script src="../../../resources/js-test.js"></script>
<input type="textfield" id="text" onchange="handleChangeEvent(this);" value="value">
<input type="reset" id="reset">
<script>
description('In a text field after reset when whole text is deleted i.e. text value is empty. When out of focus, it should dispatch change event');
var changeEventCounter = 0;
function handleChangeEvent(element) {
++changeEventCounter;
}
var reset = document.getElementById('reset');
var text = document.getElementById('text');
debug('Press reset button');
clickElement(reset);
text.focus();
shouldBeEqualToString('text.value', 'value');
shouldBe('changeEventCounter', '0');
debug('Delete the whole text');
document.execCommand('SelectAll', false, null);
document.execCommand('Delete', false, null);
debug('Out of focus from text field');
reset.focus();
shouldBeEqualToString('text.value', '');
shouldBe('changeEventCounter', '1');
</script>
</body>
</html>