<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../resources/multiple-fields-ax-aria-attributes.js"></script>
</head>
<body>
<input id="test" type="date">
<script>
description('This test checks aria-help attribute of fields in multiple fields date input UI.');

var testInput = document.getElementById('test');

if (!window.accessibilityController || !window.eventSender)
    debug('Please run inside DRT or WTR.');
else {
    testInput.focus();
    debug('Initial empty state');
    checkFocusedElementAXAttributes('Month, AXValueDescription: blank, intValue:0, range:1-12');
    eventSender.keyDown('\t');
    checkFocusedElementAXAttributes('Day, AXValueDescription: blank, intValue:0, range:1-31');
    eventSender.keyDown('\t');
    checkFocusedElementAXAttributes('Year, AXValueDescription: blank, intValue:0, range:1-275760');

    eventSender.keyDown('\t', ['shiftKey']);
    eventSender.keyDown('\t', ['shiftKey']);
    debug('Non-empty value');
    testInput.value = "2012-10-09";
    checkFocusedElementAXAttributes('Month, AXValueDescription: 10, intValue:10, range:1-12');
    eventSender.keyDown('\t');
    checkFocusedElementAXAttributes('Day, AXValueDescription: 09, intValue:9, range:1-31');
    eventSender.keyDown('\t');
    checkFocusedElementAXAttributes('Year, AXValueDescription: 2012, intValue:2012, range:1-275760');

    debug('Empty value');
    eventSender.keyDown('Backspace');
    checkFocusedElementAXAttributes('Year, AXValueDescription: blank, intValue:0, range:1-275760');
    eventSender.keyDown('\t', ['shiftKey']);
    eventSender.keyDown('Backspace');
    checkFocusedElementAXAttributes('Day, AXValueDescription: blank, intValue:0, range:1-31');
    eventSender.keyDown('\t', ['shiftKey']);
    eventSender.keyDown('Backspace');
    checkFocusedElementAXAttributes('Month, AXValueDescription: blank, intValue:0, range:1-12');

    debug('');
    testInput.parentNode.removeChild(testInput);
}
</script>
</body>
</html>
