summaryrefslogtreecommitdiff
path: root/source/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js
diff options
context:
space:
mode:
Diffstat (limited to 'source/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js')
-rw-r--r--source/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/source/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js b/source/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js
new file mode 100644
index 0000000..8746b42
--- /dev/null
+++ b/source/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js
@@ -0,0 +1,32 @@
+// input[type="number"] localized input/output
+// // Detects whether input type="number" is capable of receiving and
+// // displaying localized numbers, e.g. with comma separator
+// // https://bugs.webkit.org/show_bug.cgi?id=42484
+// // Based on http://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;
+});