Browse Source

numeric input

Robin Herbots 6 years ago
parent
commit
704cfcfc79
4 changed files with 402 additions and 395 deletions
  1. 1 1
      lib/extensions/inputmask.numeric.extensions.js
  2. 7 5
      qunit/tests_multi.js
  3. 34 32
      qunit/tests_optional.js
  4. 360 357
      qunit/tests_regex.js

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

@@ -160,7 +160,7 @@ function hanndleRadixDance(pos, c, radixPos, opts) {
 function decimalValidator(chrs, maskset, pos, strict, opts) {
 	var radixPos = maskset.buffer.indexOf(opts.radixPoint),
 		result = radixPos !== -1 && new RegExp("[0-9\uFF11-\uFF19]").test(chrs);
-	if (result && maskset.validPositions[radixPos] == undefined) {
+	if (opts._radixDance && result && maskset.validPositions[radixPos] == undefined) {
 		return {
 			insert: {
 				pos: radixPos === pos ? radixPos + 1 : radixPos,

+ 7 - 5
qunit/tests_multi.js

@@ -217,7 +217,6 @@ export default function (qunit, Inputmask) {
 	});
 
 
-
 	qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 123456 (rtl)", function (assert) {
 		var done = assert.async(),
 			$fixture = $("#qunit-fixture");
@@ -398,16 +397,19 @@ export default function (qunit, Inputmask) {
 		}, 0);
 	});
 	qunit.test("[\"+7(999)999-99-99\",\"+380(99)999-99-99\",\"+375(99)999-99-99\"] - andychups", function (assert) {
-		var $fixture = $("#qunit-fixture");
+		var done = assert.async(),
+			$fixture = $("#qunit-fixture");
 		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask(["+7(999)999-99-99", "+380(99)999-99-99", "+375(99)999-99-99"], {
 			keepStatic: false
 		}).mask(testmask);
 		testmask.focus();
-		$("#testmask").trigger("click");
-		assert.equal(testmask.inputmask._valueGet(), "+_(___)___-__-__", "Result " + testmask.inputmask._valueGet());
-
+		setTimeout(function () {
+			$("#testmask").trigger("click");
+			assert.equal(testmask.inputmask._valueGet(), "+_(___)___-__-__", "Result " + testmask.inputmask._valueGet());
+			done();
+		}, 0);
 	});
 
 	qunit.test("(9{4} 9{4} 9{4} 9{4})|(9{4} 9{6} 9[5])|(9{9} 9{9}) - 1234123412341234 - necrosisoff ", function (assert) {

+ 34 - 32
qunit/tests_optional.js

@@ -1,10 +1,10 @@
 export default function (qunit, Inputmask) {
-    var $ = Inputmask.dependencyLib;
+	var $ = Inputmask.dependencyLib;
 
 	qunit.module("Optional");
 	qunit.test("inputmask(\"(99) 9999[9]-99999\") - input 121234-12345", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask("(99) 9999[9]-99999").mask(testmask);
 
@@ -15,7 +15,7 @@ export default function (qunit, Inputmask) {
 	});
 	qunit.test("inputmask(\"(99) 9999[9]-99999\") - input 121234512345", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask("(99) 9999[9]-99999").mask(testmask);
 
@@ -27,7 +27,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: true }) - input 123", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99999[-9999]",
@@ -41,7 +41,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99999[-9999]",
@@ -55,7 +55,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 12345", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99999[-9999]",
@@ -69,7 +69,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99999[-9999]",
@@ -83,7 +83,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456789", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99999[-9999]",
@@ -97,7 +97,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask(\"9[9][9] 999[9] 9999\") - input 123123 space 1234 - vipink70", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask("9[9][9] 999[9] 9999").mask(testmask);
 
@@ -110,9 +110,9 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask('[9-]AAA.999') ", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
-		Inputmask('[9-]AAA.999').mask(testmask);
+		Inputmask("[9-]AAA.999").mask(testmask);
 
 		$("#testmask").Type("1abc123");
 		$.caret(testmask, 4, 5);
@@ -122,9 +122,9 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask('9[9]:99') ", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
-		Inputmask('9[9]:99').mask(testmask);
+		Inputmask("9[9]:99").mask(testmask);
 
 		$("#testmask").Type("3:44");
 		$.caret(testmask, 1);
@@ -134,7 +134,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99999[-9999]",
@@ -150,7 +150,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"9'9{1,2}\"\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true  }) - input 12 blur - thomstark", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "9'9{1,2}\"",
@@ -167,7 +167,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99{1,2}lb\\s\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true  }) - input 12 blur - thomstark", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99{1,2}lb\\s",
@@ -184,7 +184,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"9'9[9]\"\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true  }) - input 12 blur - thomstark", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "9'9[9]\"",
@@ -201,7 +201,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"99[9]lb\\s\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true  }) - input 12 blur - thomstark", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "99[9]lb\\s",
@@ -219,7 +219,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test(".inputmask(\"99999[-9999]\", { greedy: false }); - type 123456 backspace iscomplete?", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask("99999[-9999]", {
 			greedy: false
@@ -233,25 +233,27 @@ export default function (qunit, Inputmask) {
 
 	qunit.test(".inputmask(\"99999[-9999]\", { greedy: false }); type 123456 backspace blur", function (assert) {
 		var $fixture = $("#qunit-fixture"), done = assert.async();
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask("99999[-9999]", {
 			greedy: false
 		}).mask(testmask);
 
 		testmask.focus();
-		$("#testmask").Type("123456");
-		$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
-		testmask.blur();
 		setTimeout(function () {
-			assert.equal($("#testmask")[0].inputmask._valueGet(), "12345", "Result " + $("#testmask")[0].inputmask._valueGet());
-			done();
+			$("#testmask").Type("123456");
+			$("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+			testmask.blur();
+			setTimeout(function () {
+				assert.equal($("#testmask")[0].inputmask._valueGet(), "12345", "Result " + $("#testmask")[0].inputmask._valueGet());
+				done();
+			}, 0);
 		}, 0);
 	});
 
 	qunit.test(".inputmask(\"99999[-9999]\", { greedy: false, autoUnmask: true }); type 123456 backspace", function (assert) {
 		var $fixture = $("#qunit-fixture"), done = assert.async();
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask("99999[-9999]", {
 			greedy: false,
@@ -269,9 +271,9 @@ export default function (qunit, Inputmask) {
 
 	qunit.test(".inputmask('999-999-9999[ ext 9{1,5}]'); - type 12345678901 backspace iscomplete? - antch", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
-		Inputmask('999-999-9999[ ext 9{1,5}]').mask(testmask);
+		Inputmask("999-999-9999[ ext 9{1,5}]").mask(testmask);
 
 		testmask.focus();
 		$("#testmask").Type("12345678901");
@@ -281,7 +283,7 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("inputmask({ mask: \"9999[ 9999][ 9999]\"}) - input 1234 space space - GMTA", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
 			mask: "9999[ 9999][ 9999]"
@@ -294,11 +296,11 @@ export default function (qunit, Inputmask) {
 
 	qunit.test("9999[ 9999][ 9999][ 9999][ 999] - Enfree", function (assert) {
 		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
 		var testmask = document.getElementById("testmask");
 		Inputmask({
-			mask: '9999[ 9999][ 9999][ 9999][ 999]',
-			placeholder: '', greedy: false
+			mask: "9999[ 9999][ 9999][ 9999][ 999]",
+			placeholder: "", greedy: false
 		}).mask(testmask);
 
 		testmask.focus();

+ 360 - 357
qunit/tests_regex.js

@@ -1,360 +1,363 @@
 export default function (qunit, Inputmask) {
-    var $ = Inputmask.dependencyLib;
-
-    qunit.module("Regex masks");
-
-    qunit.test("inputmask({ regex: \"[0-9]*\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[0-9]*"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("123abc45");
-
-        assert.equal(testmask.value, "12345", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[0-9]*\"}); ~ isComplete", function (assert) {
-        var $fixture = $("#qunit-fixture"), done = assert.async();
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[0-9]*",
-            oncomplete: function () {
-                assert.equal(testmask.value, "1", "Result " + testmask.value);
-                done();
-            }
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").SendKey("1");
-    });
-
-    qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("123abc45");
-
-        assert.equal(testmask.value, "123abc45", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("123abc45");
-
-        assert.equal(testmask.value, "abc45", "Result " + testmask.value);
-    });
-
-
-    qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("123abc45");
-
-        assert.equal(testmask.value, "abc45", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[-]?(([1-8][0-9])|[1-9]0?)"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("90");
-
-        assert.equal(testmask.value, "90", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[-]?(([1-8][0-9])|[1-9]0?)"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("0");
-
-        assert.equal(testmask.value, "", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[-]?(([1-8][0-9])|[1-9]0?)"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("-78");
-
-        assert.equal(testmask.value, "-78", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\" - simple regex email", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("some.body@mail.com");
-
-        assert.equal(testmask.value, "some.body@mail.com", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\" - complexer regex email", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("denise.van.de.cruys@mail.com");
-
-        assert.equal(testmask.value, "denise.van.de.cruys@mail.com", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 1-123-4562", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("1-123-4562");
-
-        assert.equal(testmask.value, "1-123-4562", "Result " + testmask.value);
-    });
-    qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 20-222-2222", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("20-222-2222");
-
-        assert.equal(testmask.value, "20-222-2222", "Result " + testmask.value);
-    });
-    qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 22-222-234", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("22-222-234");
-
-        assert.equal(testmask.value, "22-222-234", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 70-12-34", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("70-12-34");
-
-        assert.equal(testmask.value, "70-123-4__", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" - arame regex 12", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("12");
-
-        assert.equal(testmask.value, "12", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.5", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("12.5");
-
-        assert.equal(testmask.value, "12.5", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.75", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("12.75");
-
-        assert.equal(testmask.value, "12.75", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcdef", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(abc)+(def)",
-            jitMasking: true
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("abcdef");
-
-        assert.equal(testmask.value, "abcdef", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex 123a4b5c6d7e8f", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(abc)+(def)",
-            jitMasking: true
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("123a4b5c6d7e8f");
-
-        assert.equal(testmask.value, "abcdef", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcabcdef", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(abc)+(def)",
-            jitMasking: true
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("abcabcdef");
-
-        assert.equal(testmask.value, "abcabcdef", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({ regex: \"(abc){2,4}(def)\" }); - Flyarbonkers regex abcafebcaefbfcabcdef", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "(abc){2,4}(def)",
-            jitMasking: true
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("abcafebcaefbfcabcdef");
-
-        assert.equal(testmask.value, "abcabcabcabcdef", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({regex: \"[а-яА-Я\\s]*\"}) - type space - SilentImp", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[а-яА-Я\\s]*"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").SendKey(Inputmask.keyCode.SPACE);
-
-        assert.equal(testmask.value, " ", "Result " + testmask.value);
-    });
-
-    qunit.test("inputmask({regex: \"\\+7 \\(\\d{3}\\) \\d{3} \\d{4}\"}) - hxss", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "\\+7 \\(\\d{3}\\) \\d{3} \\d{4}"
-        }).mask(testmask);
-
-        testmask.focus();
-
-        assert.equal(testmask.inputmask.__valueGet.call(testmask), "+7 (___) ___ ____", "Result " + testmask.inputmask.__valueGet.call(testmask));
-    });
-
-    qunit.test("[0-9]{2}|[0-9]{3} - type 123", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[0-9]{2}|[0-9]{3}"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("123");
-
-        assert.equal(testmask.inputmask.__valueGet.call(testmask), "123", "Result " + testmask.inputmask.__valueGet.call(testmask));
-    });
-
-    qunit.test("[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc) - type maimairel", function (assert) {
-        var $fixture = $("#qunit-fixture");
-        $fixture.append('<input type="text" id="testmask" />');
-        var testmask = document.getElementById("testmask");
-        Inputmask({
-            regex: "[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)"
-        }).mask(testmask);
-
-        testmask.focus();
-        $("#testmask").Type("10px");
-
-        assert.equal(testmask.inputmask.__valueGet.call(testmask), "10px", "Result " + testmask.inputmask.__valueGet.call(testmask));
-    });
+	var $ = Inputmask.dependencyLib;
+
+	qunit.module("Regex masks");
+
+	qunit.test("inputmask({ regex: \"[0-9]*\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[0-9]*"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123abc45");
+
+		assert.equal(testmask.value, "12345", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[0-9]*\"}); ~ isComplete", function (assert) {
+		var $fixture = $("#qunit-fixture"), done = assert.async();
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[0-9]*",
+			oncomplete: function () {
+				assert.equal(testmask.value, "1", "Result " + testmask.value);
+				done();
+			}
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").SendKey("1");
+	});
+
+	qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123abc45");
+
+		assert.equal(testmask.value, "123abc45", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[A-Za-z\u0410-\u044F\u0401\u0451]+[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123abc45");
+
+		assert.equal(testmask.value, "abc45", "Result " + testmask.value);
+	});
+
+
+	qunit.test("inputmask({ regex: \"[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[A-Za-z\u0410-\u044F\u0401\u0451]{1}[A-Za-z\u0410-\u044F\u0401\u04510-9]*"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123abc45");
+
+		assert.equal(testmask.value, "abc45", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[-]?(([1-8][0-9])|[1-9]0?)"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("90");
+
+		assert.equal(testmask.value, "90", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[-]?(([1-8][0-9])|[1-9]0?)"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("0");
+
+		assert.equal(testmask.value, "", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[-]?(([1-8][0-9])|[1-9]0?)\"});", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[-]?(([1-8][0-9])|[1-9]0?)"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("-78");
+
+		assert.equal(testmask.value, "-78", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\" - simple regex email", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("some.body@mail.com");
+
+		assert.equal(testmask.value, "some.body@mail.com", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\" - complexer regex email", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[a-za-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*)?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("denise.van.de.cruys@mail.com");
+
+		assert.equal(testmask.value, "denise.van.de.cruys@mail.com", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 1-123-4562", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("1-123-4562");
+
+		assert.equal(testmask.value, "1-123-4562", "Result " + testmask.value);
+	});
+	qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 20-222-2222", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("20-222-2222");
+
+		assert.equal(testmask.value, "20-222-2222", "Result " + testmask.value);
+	});
+	qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 22-222-234", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("22-222-234");
+
+		assert.equal(testmask.value, "22-222-234", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))\" - mrpanacs regex 70-12-34", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(([2-9][0-9])-([0-9]{3}-[0-9]{3}))|((1|30|20|70)-([0-9]{3}-[0-9]{4}))"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("70-12-34");
+
+		assert.equal(testmask.value, "70-123-4__", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" - arame regex 12", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("12");
+
+		assert.equal(testmask.value, "12", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.5", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("12.5");
+
+		assert.equal(testmask.value, "12.5", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?\" } - arame regex 12.75", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "([0-9]|[1][0-9]|[2][0-3]?)(\\.(5|25|75))?"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("12.75");
+
+		assert.equal(testmask.value, "12.75", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcdef", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(abc)+(def)",
+			jitMasking: true
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("abcdef");
+
+		assert.equal(testmask.value, "abcdef", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex 123a4b5c6d7e8f", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(abc)+(def)",
+			jitMasking: true
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123a4b5c6d7e8f");
+
+		assert.equal(testmask.value, "abcdef", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"(abc)+(def)\" }); - Flyarbonkers regex abcabcdef", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(abc)+(def)",
+			jitMasking: true
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("abcabcdef");
+
+		assert.equal(testmask.value, "abcabcdef", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({ regex: \"(abc){2,4}(def)\" }); - Flyarbonkers regex abcafebcaefbfcabcdef", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "(abc){2,4}(def)",
+			jitMasking: true
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("abcafebcaefbfcabcdef");
+
+		assert.equal(testmask.value, "abcabcabcabcdef", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({regex: \"[а-яА-Я\\s]*\"}) - type space - SilentImp", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[а-яА-Я\\s]*"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").SendKey(Inputmask.keyCode.SPACE);
+
+		assert.equal(testmask.value, " ", "Result " + testmask.value);
+	});
+
+	qunit.test("inputmask({regex: \"\\+7 \\(\\d{3}\\) \\d{3} \\d{4}\"}) - hxss", function (assert) {
+		var done = assert.async(),
+			$fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "\\+7 \\(\\d{3}\\) \\d{3} \\d{4}"
+		}).mask(testmask);
+
+		testmask.focus();
+		setTimeout(function () {
+			assert.equal(testmask.inputmask.__valueGet.call(testmask), "+7 (___) ___ ____", "Result " + testmask.inputmask.__valueGet.call(testmask));
+			done();
+		}, 0);
+	});
+
+	qunit.test("[0-9]{2}|[0-9]{3} - type 123", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[0-9]{2}|[0-9]{3}"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("123");
+
+		assert.equal(testmask.inputmask.__valueGet.call(testmask), "123", "Result " + testmask.inputmask.__valueGet.call(testmask));
+	});
+
+	qunit.test("[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc) - type maimairel", function (assert) {
+		var $fixture = $("#qunit-fixture");
+		$fixture.append("<input type=\"text\" id=\"testmask\" />");
+		var testmask = document.getElementById("testmask");
+		Inputmask({
+			regex: "[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)"
+		}).mask(testmask);
+
+		testmask.focus();
+		$("#testmask").Type("10px");
+
+		assert.equal(testmask.inputmask.__valueGet.call(testmask), "10px", "Result " + testmask.inputmask.__valueGet.call(testmask));
+	});
 
 };