Browse Source

numericInput mobile small fix

Robin Herbots 7 years ago
parent
commit
8437a02f2e
48 changed files with 449 additions and 429 deletions
  1. 1 1
      bower.json
  2. 1 1
      component.json
  3. 1 1
      composer.json
  4. 1 1
      dist/inputmask/bindings/inputmask.binding.js
  5. 1 1
      dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js
  6. 1 1
      dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js
  7. 1 1
      dist/inputmask/dependencyLibs/inputmask.dependencyLib.js
  8. 1 1
      dist/inputmask/global/document.js
  9. 1 1
      dist/inputmask/global/window.js
  10. 1 1
      dist/inputmask/inputmask.date.extensions.js
  11. 1 1
      dist/inputmask/inputmask.extensions.js
  12. 2 2
      dist/inputmask/inputmask.js
  13. 1 1
      dist/inputmask/inputmask.numeric.extensions.js
  14. 1 1
      dist/inputmask/inputmask.phone.extensions.js
  15. 1 1
      dist/inputmask/jquery.inputmask.js
  16. 1 1
      dist/inputmask/phone-codes/phone-be.js
  17. 1 1
      dist/inputmask/phone-codes/phone-ca.js
  18. 1 1
      dist/inputmask/phone-codes/phone-hu.js
  19. 1 1
      dist/inputmask/phone-codes/phone-mx.js
  20. 1 1
      dist/inputmask/phone-codes/phone-nl.js
  21. 1 1
      dist/inputmask/phone-codes/phone-ru.js
  22. 1 1
      dist/inputmask/phone-codes/phone-uk.js
  23. 1 1
      dist/inputmask/phone-codes/phone.js
  24. 2 2
      dist/jquery.inputmask.bundle.js
  25. 1 1
      dist/min/inputmask/bindings/inputmask.binding.min.js
  26. 1 1
      dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.min.js
  27. 1 1
      dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.min.js
  28. 1 1
      dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.min.js
  29. 1 1
      dist/min/inputmask/global/document.min.js
  30. 1 1
      dist/min/inputmask/global/window.min.js
  31. 1 1
      dist/min/inputmask/inputmask.date.extensions.min.js
  32. 1 1
      dist/min/inputmask/inputmask.extensions.min.js
  33. 2 2
      dist/min/inputmask/inputmask.min.js
  34. 1 1
      dist/min/inputmask/inputmask.numeric.extensions.min.js
  35. 1 1
      dist/min/inputmask/inputmask.phone.extensions.min.js
  36. 1 1
      dist/min/inputmask/jquery.inputmask.min.js
  37. 1 1
      dist/min/inputmask/phone-codes/phone-be.min.js
  38. 1 1
      dist/min/inputmask/phone-codes/phone-ca.min.js
  39. 1 1
      dist/min/inputmask/phone-codes/phone-hu.min.js
  40. 1 1
      dist/min/inputmask/phone-codes/phone-mx.min.js
  41. 1 1
      dist/min/inputmask/phone-codes/phone-nl.min.js
  42. 1 1
      dist/min/inputmask/phone-codes/phone-ru.min.js
  43. 1 1
      dist/min/inputmask/phone-codes/phone-uk.min.js
  44. 1 1
      dist/min/inputmask/phone-codes/phone.min.js
  45. 2 2
      dist/min/jquery.inputmask.bundle.min.js
  46. 1 1
      js/inputmask.js
  47. 1 1
      package.json
  48. 398 378
      qunit/tests_numericinput.js

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "4.0.0-beta.14",
+  "version": "4.0.0-beta.16",
   "main": [
 	  "./dist/inputmask/inputmask.js",
 	  "./dist/inputmask/inputmask.extensions.js",

+ 1 - 1
component.json

@@ -2,7 +2,7 @@
 	"name": "inputmask",
 	"repository": "robinherbots/Inputmask",
 	"description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
-	"version": "4.0.0-beta.14",
+	"version": "4.0.0-beta.16",
 	"keywords": [
 		"jquery",
 		"plugins",

+ 1 - 1
composer.json

@@ -1,7 +1,7 @@
 {
   "name": "robinherbots/inputmask",
   "description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
-  "version": "4.0.0-beta.14",
+  "version": "4.0.0-beta.16",
   "type": "library",
   "keywords": ["jquery", "plugins", "input", "form", "inputmask", "mask"],
   "homepage": "http://robinherbots.github.io/Inputmask",

+ 1 - 1
dist/inputmask/bindings/inputmask.binding.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/dependencyLibs/inputmask.dependencyLib.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/global/document.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 "function" == typeof define && define.amd ? define(function() {

+ 1 - 1
dist/inputmask/global/window.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 "function" == typeof define && define.amd ? define(function() {

+ 1 - 1
dist/inputmask/inputmask.date.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/inputmask.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 2 - 2
dist/inputmask/inputmask.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {
@@ -729,7 +729,7 @@
                         return "." === inputValue.charAt(caretPos.begin - 1) && "" !== opts.radixPoint && ((inputValue = inputValue.split(""))[caretPos.begin - 1] = opts.radixPoint.charAt(0), 
                         inputValue = inputValue.join("")), inputValue;
                     }(0, inputValue, caretPos), caretPos), getBuffer().join("") !== inputValue) {
-                        var buffer = getBuffer().join(""), offset = inputValue.length > buffer.length ? -1 : 0, frontPart = inputValue.substr(0, caretPos.begin), backPart = inputValue.substr(caretPos.begin), frontBufferPart = buffer.substr(0, caretPos.begin + offset), backBufferPart = buffer.substr(caretPos.begin + offset), selection = caretPos, entries = "", isEntry = !1;
+                        var buffer = getBuffer().join(""), offset = !opts.numericInput && inputValue.length > buffer.length ? -1 : 0, frontPart = inputValue.substr(0, caretPos.begin), backPart = inputValue.substr(caretPos.begin), frontBufferPart = buffer.substr(0, caretPos.begin + offset), backBufferPart = buffer.substr(caretPos.begin + offset), selection = caretPos, entries = "", isEntry = !1;
                         if (frontPart !== frontBufferPart) {
                             for (var fpl = (isEntry = frontPart.length >= frontBufferPart.length) ? frontPart.length : frontBufferPart.length, i = 0; frontPart.charAt(i) === frontBufferPart.charAt(i) && i < fpl; i++) ;
                             isEntry && (0 === offset && (selection.begin = i), entries += frontPart.slice(i, selection.end));

+ 1 - 1
dist/inputmask/inputmask.numeric.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/inputmask.phone.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/jquery.inputmask.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-be.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-ca.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-hu.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-mx.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-nl.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-ru.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone-uk.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 1 - 1
dist/inputmask/phone-codes/phone.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(factory) {

+ 2 - 2
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(modules) {
@@ -769,7 +769,7 @@
                             return "." === inputValue.charAt(caretPos.begin - 1) && "" !== opts.radixPoint && ((inputValue = inputValue.split(""))[caretPos.begin - 1] = opts.radixPoint.charAt(0), 
                             inputValue = inputValue.join("")), inputValue;
                         }(0, inputValue, caretPos), caretPos), getBuffer().join("") !== inputValue) {
-                            var buffer = getBuffer().join(""), offset = inputValue.length > buffer.length ? -1 : 0, frontPart = inputValue.substr(0, caretPos.begin), backPart = inputValue.substr(caretPos.begin), frontBufferPart = buffer.substr(0, caretPos.begin + offset), backBufferPart = buffer.substr(caretPos.begin + offset), selection = caretPos, entries = "", isEntry = !1;
+                            var buffer = getBuffer().join(""), offset = !opts.numericInput && inputValue.length > buffer.length ? -1 : 0, frontPart = inputValue.substr(0, caretPos.begin), backPart = inputValue.substr(caretPos.begin), frontBufferPart = buffer.substr(0, caretPos.begin + offset), backBufferPart = buffer.substr(caretPos.begin + offset), selection = caretPos, entries = "", isEntry = !1;
                             if (frontPart !== frontBufferPart) {
                                 for (var fpl = (isEntry = frontPart.length >= frontBufferPart.length) ? frontPart.length : frontBufferPart.length, i = 0; frontPart.charAt(i) === frontBufferPart.charAt(i) && i < fpl; i++) ;
                                 isEntry && (0 === offset && (selection.begin = i), entries += frontPart.slice(i, selection.end));

File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/bindings/inputmask.binding.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.min.js


+ 1 - 1
dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.min.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e(require("jquery")):window.dependencyLib=e(jQuery)}(function(e){return e});

File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.min.js


+ 1 - 1
dist/min/inputmask/global/document.min.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 "function"==typeof define&&define.amd?define(function(){return document}):"object"==typeof exports&&(module.exports=document);

+ 1 - 1
dist/min/inputmask/global/window.min.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2018 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-beta.14
+* Version: 4.0.0-beta.16
 */
 
 "function"==typeof define&&define.amd?define(function(){return window}):"object"==typeof exports&&(module.exports=window);

File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.date.extensions.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.extensions.min.js


File diff suppressed because it is too large
+ 2 - 2
dist/min/inputmask/inputmask.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.numeric.extensions.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/inputmask.phone.extensions.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/jquery.inputmask.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-be.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-ca.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-hu.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-mx.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-nl.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-ru.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone-uk.min.js


File diff suppressed because it is too large
+ 1 - 1
dist/min/inputmask/phone-codes/phone.min.js


File diff suppressed because it is too large
+ 2 - 2
dist/min/jquery.inputmask.bundle.min.js


+ 1 - 1
js/inputmask.js

@@ -2188,7 +2188,7 @@
 
                         if (getBuffer().join("") !== inputValue) {
                             var buffer = getBuffer().join(""),
-                                offset = inputValue.length > buffer.length ? -1 : 0,
+                                offset = (!opts.numericInput && inputValue.length > buffer.length) ? -1 : 0,
                                 frontPart = inputValue.substr(0, caretPos.begin),
                                 backPart = inputValue.substr(caretPos.begin),
                                 frontBufferPart = buffer.substr(0, caretPos.begin + offset),

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "4.0.0-beta.14",
+  "version": "4.0.0-beta.16",
   "description": "Inputmask is a javascript library which creates an input mask.  Inputmask can run against vanilla javascript, jQuery and jqlite.",
   "main": "index.js",
   "files": [

+ 398 - 378
qunit/tests_numericinput.js

@@ -1,381 +1,401 @@
 export default function (qunit, $, Inputmask) {
 
-	qunit.module("Direction RTL");
-	qunit.test("inputmask(\"999.999.999\") - delete 2nd with backspace, continue the mask", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" dir="rtl" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("999.999.999").mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").SendKey("1");
-			$("#testmask").SendKey("2");
-			$("#testmask").SendKey("3");
-			$("#testmask").SendKey(Inputmask.keyCode.RIGHT);
-			$("#testmask").SendKey(Inputmask.keyCode.RIGHT);
-			$("#testmask").SendKey(Inputmask.keyCode.RIGHT);
-			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-			$("#testmask").SendKey("4");
-			$("#testmask").SendKey(Inputmask.keyCode.LEFT);
-			$("#testmask").SendKey("5");
-			$("#testmask").SendKey("6");
-			assert.equal(testmask.value, "___._65.341", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask(\"999.999.999\") - delete 2nd with delete, continue the mask", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" dir="rtl" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("999.999.999").mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").SendKey("1");
-			$("#testmask").SendKey("2");
-			$("#testmask").SendKey("3");
-			$("#testmask").SendKey(Inputmask.keyCode.RIGHT);
-			$("#testmask").SendKey(Inputmask.keyCode.RIGHT);
-			$("#testmask").SendKey(Inputmask.keyCode.DELETE);
-			$("#testmask").SendKey("4");
-			$("#testmask").SendKey(Inputmask.keyCode.LEFT);
-			$("#testmask").SendKey("5");
-			$("#testmask").SendKey("6");
-			assert.equal(testmask.value, "___._65.341", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask(\"999-aaa-999\")", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" dir="rtl" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("999-aaa-999").mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123abc12");
-			assert.equal(testmask.value, "_21-cba-321", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask(\"999-999-999\") - replace selection", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" dir="rtl" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("999-999-999").mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123456789");
-			$.caret(testmask, 4, 7);
-			$("#testmask").Type("5");
-			assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask(\"999-999-999\") - replace selection with backspace", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" dir="rtl" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("999-999-999").mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123456789");
-			$.caret(testmask, 4, 7);
-			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-			$("#testmask").Type("5");
-			assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask(\"999-999-999\") - replace selection - with delete", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" dir="rtl" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("999-999-999").mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123456789");
-			$.caret(testmask, 4, 7);
-			$("#testmask").SendKey(Inputmask.keyCode.DELETE);
-			$("#testmask").Type("5");
-			assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.module("Numeric Input");
-	qunit.test("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - 1234567890", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask({
-			mask: "9",
-			numericInput: true,
-			repeat: 10,
-			greedy: true
-		}).mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("1234567890");
-			assert.equal(testmask.value, "1234567890", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-	qunit.test("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - replace selection", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask({
-			mask: "9",
-			numericInput: true,
-			repeat: 10,
-			greedy: true
-		}).mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("1234567890");
-			$.caret(testmask, 3, 6);
-			$("#testmask").Type("5");
-			assert.equal(testmask.value, "__12357890", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"99-99-99\", numericInput: true }); - 1234567890", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask({
-			mask: "99-99-99",
-			numericInput: true
-		}).mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("1234567890");
-			assert.equal(testmask.value, "12-34-56", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('€ 999.999.999,99', {
-			numericInput: true
-		}).mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123");
-			assert.equal(testmask.value, "€ ___.___.__1,23", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123 position before 456", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('€ 999.999.999,99', {
-			numericInput: true
-		}).mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123");
-			$.caret(testmask, 12);
-			$("#testmask").Type("456");
-			assert.equal(testmask.value, "€ ___.__4.561,23", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('€ 999.999.999,99', {
-			numericInput: true,
-			radixPoint: ","
-		}).mask(testmask);
-
-		testmask.focus();
-		$("#testmask").trigger("click");
-		;
-		setTimeout(function () {
-			$("#testmask").Type("123");
-
-			assert.equal(testmask.value, "€ ___.___.__1,23", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123,45", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('€ 999.999.999,99', {
-			numericInput: true,
-			radixPoint: ","
-		}).mask(testmask);
-
-		testmask.focus();
-		$("#testmask").trigger("click");
-		;
-		setTimeout(function () {
-			$("#testmask").Type("123,45");
-
-			assert.equal(testmask.value, "€ ___.___.123,45", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"9999 t\", { numericInput: true }); - 123 - Joe Rosa", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('9999 t', {
-			numericInput: true
-		}).mask(testmask);
-
-		testmask.focus();
-		$("#testmask").trigger("click");
-
-		setTimeout(function () {
-			$("#testmask").Type("123");
-			assert.equal(testmask.value, "_123 t", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"9999 t\", { numericInput: true, autoUnmask: true }); - 70  - Joe Rosa", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('9999 t', {
-			numericInput: true,
-			autoUnmask: true
-		}).mask(testmask);
-
-		testmask.focus();
-		$("#testmask").trigger("click");
-		;
-		setTimeout(function () {
-			$("#testmask").Type("70");
-			assert.equal(testmask.value, "70", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("inputmask({ mask: \"['$9.99', '$99.99', '$999.99', '$9,999.99', '$99,999.99', '$999,999.99', '$9,999,999.99', '$99,999,999.99', '$999,999,999.99'], 'placeholder': ' ', 'numericInput': true, 'rightAlignNumerics': false\" value=\"$100000.00\"", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append("<input type=\"text\" id=\"testmask\" data-inputmask=\"'mask': ['$9.99', '$99.99', '$999.99', '$9,999.99', '$99,999.99', '$999,999.99', '$9,999,999.99', '$99,999,999.99', '$999,999,999.99'], 'placeholder': ' ', 'numericInput': true, 'rightAlignNumerics': false\" value=\"$100000.00\"/>");
-		var testmask = document.getElementById("testmask");
-		Inputmask().mask(testmask);
-		setTimeout(function () {
-			assert.equal(testmask.value, "$100,000.00", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("cuurency - numericInput: true - 123456 backspace x4", function (assert) {
-		var done = assert.async(),
-			$fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("currency", {
-			numericInput: true
-		}).mask(testmask);
-
-		testmask.focus();
-		setTimeout(function () {
-			$("#testmask").Type("123456");
-			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-
-			assert.equal(testmask.value, "$ 0.12", "Result " + testmask.value);
-			done();
-
-		}, 0);
-	});
-
-	qunit.test("decimal - numericInput: true - initial value 20,00 - Inkeliz", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" value="20,00" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask('decimal', {
-			radixPoint: ',',
-			rightAlign: false,
-			showMaskOnHover: false,
-			numericInput: true,
-			allowPlus: false,
-			rightAlignNumerics: false,
-			greedy: false
-		}).mask(testmask);
-
-		assert.equal(testmask.value, "20,00", "Result " + testmask.value);
-
-	});
-
-	qunit.test("currency - numericInput: true - initial value 4545.56 - sadhuria", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" value="4545.56" />');
-		var testmask = document.getElementById("testmask");
-		Inputmask("currency", {
-			groupSeparator: ',',
-			placeholder: '0.00',
-			numericInput: true,
-			autoGroup: true
-		}).mask(testmask);
-
-		assert.equal(testmask.value, "$ 4,545.56", "Result " + testmask.value);
-
-	});
+    qunit.module("Direction RTL");
+    qunit.test("inputmask(\"999.999.999\") - delete 2nd with backspace, continue the mask", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" dir="rtl" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("999.999.999").mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").SendKey("1");
+            $("#testmask").SendKey("2");
+            $("#testmask").SendKey("3");
+            $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
+            $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
+            $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
+            $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+            $("#testmask").SendKey("4");
+            $("#testmask").SendKey(Inputmask.keyCode.LEFT);
+            $("#testmask").SendKey("5");
+            $("#testmask").SendKey("6");
+            assert.equal(testmask.value, "___._65.341", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask(\"999.999.999\") - delete 2nd with delete, continue the mask", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" dir="rtl" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("999.999.999").mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").SendKey("1");
+            $("#testmask").SendKey("2");
+            $("#testmask").SendKey("3");
+            $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
+            $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
+            $("#testmask").SendKey(Inputmask.keyCode.DELETE);
+            $("#testmask").SendKey("4");
+            $("#testmask").SendKey(Inputmask.keyCode.LEFT);
+            $("#testmask").SendKey("5");
+            $("#testmask").SendKey("6");
+            assert.equal(testmask.value, "___._65.341", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask(\"999-aaa-999\")", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" dir="rtl" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("999-aaa-999").mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123abc12");
+            assert.equal(testmask.value, "_21-cba-321", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask(\"999-999-999\") - replace selection", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" dir="rtl" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("999-999-999").mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123456789");
+            $.caret(testmask, 4, 7);
+            $("#testmask").Type("5");
+            assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask(\"999-999-999\") - replace selection with backspace", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" dir="rtl" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("999-999-999").mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123456789");
+            $.caret(testmask, 4, 7);
+            $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+            $("#testmask").Type("5");
+            assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask(\"999-999-999\") - replace selection - with delete", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" dir="rtl" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("999-999-999").mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123456789");
+            $.caret(testmask, 4, 7);
+            $("#testmask").SendKey(Inputmask.keyCode.DELETE);
+            $("#testmask").Type("5");
+            assert.equal(testmask.value, "__9-875-321", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.module("Numeric Input");
+    qunit.test("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - 1234567890", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask({
+            mask: "9",
+            numericInput: true,
+            repeat: 10,
+            greedy: true
+        }).mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("1234567890");
+            assert.equal(testmask.value, "1234567890", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+    qunit.test("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - replace selection", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask({
+            mask: "9",
+            numericInput: true,
+            repeat: 10,
+            greedy: true
+        }).mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("1234567890");
+            $.caret(testmask, 3, 6);
+            $("#testmask").Type("5");
+            assert.equal(testmask.value, "__12357890", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"99-99-99\", numericInput: true }); - 1234567890", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask({
+            mask: "99-99-99",
+            numericInput: true
+        }).mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("1234567890");
+            assert.equal(testmask.value, "12-34-56", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('€ 999.999.999,99', {
+            numericInput: true
+        }).mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123");
+            assert.equal(testmask.value, "€ ___.___.__1,23", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123 position before 456", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('€ 999.999.999,99', {
+            numericInput: true
+        }).mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123");
+            $.caret(testmask, 12);
+            $("#testmask").Type("456");
+            assert.equal(testmask.value, "€ ___.__4.561,23", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('€ 999.999.999,99', {
+            numericInput: true,
+            radixPoint: ","
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").trigger("click");
+        ;
+        setTimeout(function () {
+            $("#testmask").Type("123");
+
+            assert.equal(testmask.value, "€ ___.___.__1,23", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123,45", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('€ 999.999.999,99', {
+            numericInput: true,
+            radixPoint: ","
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").trigger("click");
+        ;
+        setTimeout(function () {
+            $("#testmask").Type("123,45");
+
+            assert.equal(testmask.value, "€ ___.___.123,45", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"9999 t\", { numericInput: true }); - 123 - Joe Rosa", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('9999 t', {
+            numericInput: true
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").trigger("click");
+
+        setTimeout(function () {
+            $("#testmask").Type("123");
+            assert.equal(testmask.value, "_123 t", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"9999 t\", { numericInput: true, autoUnmask: true }); - 70  - Joe Rosa", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('9999 t', {
+            numericInput: true,
+            autoUnmask: true
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").trigger("click");
+        setTimeout(function () {
+            $("#testmask").Type("70");
+            assert.equal(testmask.value, "70", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("inputmask({ mask: \"['$9.99', '$99.99', '$999.99', '$9,999.99', '$99,999.99', '$999,999.99', '$9,999,999.99', '$99,999,999.99', '$999,999,999.99'], 'placeholder': ' ', 'numericInput': true, 'rightAlignNumerics': false\" value=\"$100000.00\"", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append("<input type=\"text\" id=\"testmask\" data-inputmask=\"'mask': ['$9.99', '$99.99', '$999.99', '$9,999.99', '$99,999.99', '$999,999.99', '$9,999,999.99', '$99,999,999.99', '$999,999,999.99'], 'placeholder': ' ', 'numericInput': true, 'rightAlignNumerics': false\" value=\"$100000.00\"/>");
+        var testmask = document.getElementById("testmask");
+        Inputmask().mask(testmask);
+        setTimeout(function () {
+            assert.equal(testmask.value, "$100,000.00", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("cuurency - numericInput: true - 123456 backspace x4", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("currency", {
+            numericInput: true
+        }).mask(testmask);
+
+        testmask.focus();
+        setTimeout(function () {
+            $("#testmask").Type("123456");
+            $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+            $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+            $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+            $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+
+            assert.equal(testmask.value, "$ 0.12", "Result " + testmask.value);
+            done();
+
+        }, 0);
+    });
+
+    qunit.test("decimal - numericInput: true - initial value 20,00 - Inkeliz", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" value="20,00" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask('decimal', {
+            radixPoint: ',',
+            rightAlign: false,
+            showMaskOnHover: false,
+            numericInput: true,
+            allowPlus: false,
+            rightAlignNumerics: false,
+            greedy: false
+        }).mask(testmask);
+
+        assert.equal(testmask.value, "20,00", "Result " + testmask.value);
+
+    });
+
+    qunit.test("currency - numericInput: true - initial value 4545.56 - sadhuria", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" value="4545.56" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("currency", {
+            groupSeparator: ',',
+            placeholder: '0.00',
+            numericInput: true,
+            autoGroup: true
+        }).mask(testmask);
+
+        assert.equal(testmask.value, "$ 4,545.56", "Result " + testmask.value);
+
+    });
+
+    qunit.test("(,999){+|1}.99 - Baiquan", function (assert) {
+        var done = assert.async(),
+            $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("(,999){+|1}.99", {
+            numericInput: true,
+            placeholder: "0"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").trigger("click");
+        setTimeout(function () {
+            $("#testmask").Type("123456");
+            assert.equal(testmask.value, "1,234.56", "Result " + testmask.value);
+            done();
+
+        }, 0);
+
+    });
 };