Browse Source

add tests for #321

Robin Herbots 12 years ago
parent
commit
76a0e11ded
2 changed files with 23 additions and 1 deletions
  1. 1 1
      js/jquery.inputmask.js
  2. 22 0
      qunit/tests.js

+ 1 - 1
js/jquery.inputmask.js

@@ -1013,7 +1013,7 @@
                                     lvp = getActiveMaskSet()["lastValidPosition"],
                                     lastPosition;
                                 if (opts.isNumeric) {
-                                    lastPosition = opts.skipRadixDance === false && opts.radixPoint != "" && $.inArray(opts.radixPoint, buffer) != -1 ? $.inArray(opts.radixPoint, buffer) : getMaskLength();
+                                    lastPosition = opts.skipRadixDance === false && opts.radixPoint != "" && $.inArray(opts.radixPoint, buffer) != -1 ? (opts.numericInput ? seekNext($.inArray(opts.radixPoint, buffer)) : $.inArray(opts.radixPoint, buffer)) : getMaskLength();
                                 } else {
                                     lastPosition = seekNext(lvp == undefined ? -1 : lvp);
                                 }

+ 22 - 0
qunit/tests.js

@@ -1148,6 +1148,28 @@ test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123 pos
     $("#testmask").remove();
 });
 
+test("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, isNumeric: true, radixPoint: \",\" }); - 123", function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true, isNumeric: true, radixPoint: "," });
+
+    $("#testmask").click();
+    $("#testmask").Type("123");
+    equal($("#testmask").val(), "€ ___.___.123,__", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
+});
+
+test("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, isNumeric: true, radixPoint: \",\" }); - 123,45", function () {
+    $('body').append('<input type="text" id="testmask" />');
+    $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true, isNumeric: true, radixPoint: "," });
+
+    $("#testmask").click();
+    $("#testmask").Type("123,45");
+    equal($("#testmask").val(), "€ ___.___.123,45", "Result " + $("#testmask").val());
+
+    $("#testmask").remove();
+});
+
 module("Regex masks")
 
 test("inputmask(\"Regex\", { regex: \"[0-9]*\"});", function () {