//= require modernizr // input localized input/output // // Detects whether input type=“number” is capable of receiving and // // displaying localized numbers, e.g. with comma separator // // bugs.webkit.org/show_bug.cgi?id=42484 // // Based on trac.webkit.org/browser/trunk/LayoutTests/fast/forms/script-tests/input-number-keyoperation.js?rev=80096#L9 // // By Peter Janes

Modernizr.addTest('localizedNumber', function() {

var doc = document,
    el = document.createElement('div'),
    fake,
    root,
    input,
    diff;
root = doc.body || (function() {
    var de = doc.documentElement;
    fake = true;
    return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
}());
el.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
input = el.childNodes[0];
root.appendChild(el);
input.focus();
try {
    doc.execCommand('InsertText', false, '1,1');
} catch(e) { // prevent warnings in IE
}
diff = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();
root.removeChild(el);
fake && root.parentNode.removeChild(root);
return diff;

});