Browse Source

update unittests

Robin Herbots 8 years ago
parent
commit
963ed4ac09
2 changed files with 461 additions and 307 deletions
  1. 286 298
      qunit/tests_alternations.js
  2. 175 9
      qunit/tests_date.js

+ 286 - 298
qunit/tests_alternations.js

@@ -1,307 +1,295 @@
 export default function (qunit, $, Inputmask) {
-	qunit.module("Alternations");
-
-	qunit.test("\"9{1,2}C|S A{1,3} 9{4}\" - ankitajain32", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
-		$("#testmask").Type("12Cabc1234");
-		assert.equal(testmask.inputmask._valueGet(), "12C ABC 1234", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("\"9{1,2}C|S A{1,3} 9{4}\" replace C with S - ankitajain32", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
+    qunit.module("Alternations");
 
-		Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
-		$("#testmask").Type("12Cabc1234");
-		$.caret(testmask, 2, 3);
-		$("#testmask").Type("S");
-		assert.equal(testmask.inputmask._valueGet(), "12S ABC 1234", "Result " + testmask.inputmask._valueGet());
-	});
+    qunit.test("\"9{1,2}C|S A{1,3} 9{4}\" - ankitajain32", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
+        $("#testmask").Type("12Cabc1234");
+        assert.equal(testmask.inputmask._valueGet(), "12C ABC 1234", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("\"9{1,2}C|S A{1,3} 9{4}\" replace C with S - ankitajain32", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
+        $("#testmask").Type("12Cabc1234");
+        $.caret(testmask, 2, 3);
+        $("#testmask").Type("S");
+        assert.equal(testmask.inputmask._valueGet(), "12S ABC 1234", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("nested alternations 1", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
+            groupmarker: ["<", ">"]
+        }).mask(testmask);
+
+        $("#testmask").Type("02121212");
+
+        assert.equal(testmask.inputmask._valueGet(), "02)12-12-12", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("nested alternations 2", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
+            groupmarker: ["<", ">"]
+        }).mask(testmask);
+
+        $("#testmask").Type("03411212");
+
+        assert.equal(testmask.inputmask._valueGet(), "034)1-12-12", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("nested alternations 3", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
+            groupmarker: ["<", ">"]
+        }).mask(testmask);
+
+        $("#testmask").Type("03511212");
+
+        assert.equal(testmask.inputmask._valueGet(), "035)1-12-12", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("nested alternations 4", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
+            groupmarker: ["<", ">"]
+        }).mask(testmask);
+
+        $("#testmask").Type("03611212");
+
+        assert.equal(testmask.inputmask._valueGet(), "036)1-12-12", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("alternations W|XY|Z", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("W|XY|Z").mask(testmask);
+
+        $("#testmask").Type("WZ");
+
+        assert.equal(testmask.inputmask._valueGet(), "WZ", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("alternations (W)|(X)(Y)|(Z)", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(W)|(X)(Y)|(Z)").mask(testmask);
+
+        $("#testmask").Type("WZ");
 
-	qunit.test("nested alternations 1", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
+        assert.equal(testmask.inputmask._valueGet(), "WZ", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("alternations (9{1,3}|SE|NE|SW|NW)-9{1,3} - yesman85", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
 
-		Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
-			groupmarker: {
-				start: "<",
-				end: ">"
-			}
-		}).mask(testmask);
+        Inputmask("(9{1,3}|SE|NE|SW|NW)-9{1,3}").mask(testmask);
 
-		$("#testmask").Type("02121212");
+        $("#testmask").Type("(NE123");
 
-		assert.equal(testmask.inputmask._valueGet(), "02)12-12-12", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("nested alternations 2", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
-			groupmarker: {
-				start: "<",
-				end: ">"
-			}
-		}).mask(testmask);
-
-		$("#testmask").Type("03411212");
-
-		assert.equal(testmask.inputmask._valueGet(), "034)1-12-12", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("nested alternations 3", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
-			groupmarker: {
-				start: "<",
-				end: ">"
-			}
-		}).mask(testmask);
-
-		$("#testmask").Type("03511212");
-
-		assert.equal(testmask.inputmask._valueGet(), "035)1-12-12", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("nested alternations 4", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
-			groupmarker: {
-				start: "<",
-				end: ">"
-			}
-		}).mask(testmask);
-
-		$("#testmask").Type("03611212");
-
-		assert.equal(testmask.inputmask._valueGet(), "036)1-12-12", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("alternations W|XY|Z", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("W|XY|Z").mask(testmask);
-
-		$("#testmask").Type("WZ");
-
-		assert.equal(testmask.inputmask._valueGet(), "WZ", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("alternations (W)|(X)(Y)|(Z)", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(W)|(X)(Y)|(Z)").mask(testmask);
-
-		$("#testmask").Type("WZ");
-
-		assert.equal(testmask.inputmask._valueGet(), "WZ", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("alternations (9{1,3}|SE|NE|SW|NW)-9{1,3} - yesman85", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9{1,3}|SE|NE|SW|NW)-9{1,3}").mask(testmask);
-
-		$("#testmask").Type("(NE123");
-
-		assert.equal(testmask.inputmask._valueGet(), "NE-123", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("((S))", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("((S))").mask(testmask);
-		testmask.focus();
-		assert.equal(testmask.inputmask._valueGet(), "((S))", "Result " + testmask.inputmask._valueGet());
-	});
-	qunit.test("((S)", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("((S)").mask(testmask);
-		testmask.focus();
-		assert.equal(testmask.inputmask._valueGet(), "((S)", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("+371-99-999-999 - artemkaint", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask([
-			"+371-99-999-999",
-			"+370(999)99-999",
-			"+375(99)999-99-99",
-			"+374-99-999-999",
-			"+380(99)999-99-99",
-			"+358(999)999-99-99",
-			"+373-9999-9999",
-			"+381-99-999-9999"
-		]).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("112123123");
-		assert.equal(testmask.inputmask._valueGet(), "+371-12-123-123", "Result " + testmask.inputmask._valueGet());
-	});
-	qunit.test("+371-99-999-999 - artemkaint", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask([
-			"+371-99-999-999",
-			"+370(999)99-999",
-			"+375(99)999-99-99",
-			"+374-99-999-999",
-			"+380(99)999-99-99",
-			"+358(999)999-99-99",
-			"+373-9999-9999",
-			"+381-99-999-9999"
-		]).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("412123123");
-		assert.equal(testmask.inputmask._valueGet(), "+374-12-123-123", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(9)|(a9) - type 1 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9)|(a9)").mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("12");
-		assert.equal(testmask.inputmask._valueGet(), "1", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(9)|(a9) - type a1 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9)|(a9)").mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("a1");
-		assert.equal(testmask.inputmask._valueGet(), "a1", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(999)|(0aa) - type 0ab - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(999)|(0aa)").mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("0ab");
-		assert.equal(testmask.inputmask._valueGet(), "0ab", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(999)|(0aa) - type 1ab - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(999)|(0aa)").mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("1ab");
-		assert.equal(testmask.inputmask._valueGet(), "1__", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(9)|(09)|(19)|(2f) - type 41 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9)|(09)|(19)|(2f)", {
-			definitions: {
-				"f": {validator: "[0-3]"}
-			}
-		}).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("41");
-		assert.equal(testmask.inputmask._valueGet(), "4", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(9)|(09)|(19)|(2f) - type 01 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9)|(09)|(19)|(2f)", {
-			definitions: {
-				"f": {validator: "[0-3]"}
-			}
-		}).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("01");
-		assert.equal(testmask.inputmask._valueGet(), "01", "Result " + testmask.inputmask._valueGet());
-	});
-	qunit.test("(9)|(09)|(19)|(2f) - type 11 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9)|(09)|(19)|(2f)", {
-			definitions: {
-				"f": {validator: "[0-3]"}
-			}
-		}).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("11");
-		assert.equal(testmask.inputmask._valueGet(), "11", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(9)|(09)|(19)|(2f) - type 23 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9)|(09)|(19)|(2f)", {
-			definitions: {
-				"f": {validator: "[0-3]"}
-			}
-		}).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("23");
-		assert.equal(testmask.inputmask._valueGet(), "23", "Result " + testmask.inputmask._valueGet());
-	});
-
-	qunit.test("(9|09|19|2f) - type 24 - ivaninDarpatov", function (assert) {
-		var $fixture = $("#qunit-fixture");
-		$fixture.append('<input type="text" id="testmask" />');
-		var testmask = document.getElementById("testmask");
-
-		Inputmask("(9|09|19|2f)", {
-			definitions: {
-				"f": {validator: "[0-3]"}
-			}
-		}).mask(testmask);
-		testmask.focus();
-		$("#testmask").Type("24");
-		assert.equal(testmask.inputmask._valueGet(), "2_", "Result " + testmask.inputmask._valueGet());
-	});
+        assert.equal(testmask.inputmask._valueGet(), "NE-123", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("((S))", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("((S))").mask(testmask);
+        testmask.focus();
+        assert.equal(testmask.inputmask._valueGet(), "((S))", "Result " + testmask.inputmask._valueGet());
+    });
+    qunit.test("((S)", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("((S)").mask(testmask);
+        testmask.focus();
+        assert.equal(testmask.inputmask._valueGet(), "((S)", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("+371-99-999-999 - artemkaint", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask([
+            "+371-99-999-999",
+            "+370(999)99-999",
+            "+375(99)999-99-99",
+            "+374-99-999-999",
+            "+380(99)999-99-99",
+            "+358(999)999-99-99",
+            "+373-9999-9999",
+            "+381-99-999-9999"
+        ]).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("112123123");
+        assert.equal(testmask.inputmask._valueGet(), "+371-12-123-123", "Result " + testmask.inputmask._valueGet());
+    });
+    qunit.test("+371-99-999-999 - artemkaint", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask([
+            "+371-99-999-999",
+            "+370(999)99-999",
+            "+375(99)999-99-99",
+            "+374-99-999-999",
+            "+380(99)999-99-99",
+            "+358(999)999-99-99",
+            "+373-9999-9999",
+            "+381-99-999-9999"
+        ]).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("412123123");
+        assert.equal(testmask.inputmask._valueGet(), "+374-12-123-123", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(9)|(a9) - type 1 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9)|(a9)").mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("12");
+        assert.equal(testmask.inputmask._valueGet(), "1", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(9)|(a9) - type a1 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9)|(a9)").mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("a1");
+        assert.equal(testmask.inputmask._valueGet(), "a1", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(999)|(0aa) - type 0ab - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(999)|(0aa)").mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("0ab");
+        assert.equal(testmask.inputmask._valueGet(), "0ab", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(999)|(0aa) - type 1ab - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(999)|(0aa)").mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("1ab");
+        assert.equal(testmask.inputmask._valueGet(), "1__", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(9)|(09)|(19)|(2f) - type 41 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9)|(09)|(19)|(2f)", {
+            definitions: {
+                "f": {validator: "[0-3]"}
+            }
+        }).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("41");
+        assert.equal(testmask.inputmask._valueGet(), "4", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(9)|(09)|(19)|(2f) - type 01 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9)|(09)|(19)|(2f)", {
+            definitions: {
+                "f": {validator: "[0-3]"}
+            }
+        }).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("01");
+        assert.equal(testmask.inputmask._valueGet(), "01", "Result " + testmask.inputmask._valueGet());
+    });
+    qunit.test("(9)|(09)|(19)|(2f) - type 11 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9)|(09)|(19)|(2f)", {
+            definitions: {
+                "f": {validator: "[0-3]"}
+            }
+        }).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("11");
+        assert.equal(testmask.inputmask._valueGet(), "11", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(9)|(09)|(19)|(2f) - type 23 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9)|(09)|(19)|(2f)", {
+            definitions: {
+                "f": {validator: "[0-3]"}
+            }
+        }).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("23");
+        assert.equal(testmask.inputmask._valueGet(), "23", "Result " + testmask.inputmask._valueGet());
+    });
+
+    qunit.test("(9|09|19|2f) - type 24 - ivaninDarpatov", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+
+        Inputmask("(9|09|19|2f)", {
+            definitions: {
+                "f": {validator: "[0-3]"}
+            }
+        }).mask(testmask);
+        testmask.focus();
+        $("#testmask").Type("24");
+        assert.equal(testmask.inputmask._valueGet(), "2_", "Result " + testmask.inputmask._valueGet());
+    });
 
     qunit.test("(1|2|3)/(4|5)", function (assert) {
         var $fixture = $("#qunit-fixture");

+ 175 - 9
qunit/tests_date.js

@@ -41,7 +41,6 @@ export default function (qunit, $, Inputmask) {
 
         assert.equal(testmask.value, "04/10/2017", "Result " + testmask.value);
     });
-
     qunit.test("overtype invalid entry", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -57,7 +56,6 @@ export default function (qunit, $, Inputmask) {
 
         assert.equal(testmask.value, "23/03/1973", "Result " + testmask.value);
     });
-
     qunit.test("insert current date", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -72,7 +70,6 @@ export default function (qunit, $, Inputmask) {
         today = "00".substr(0, 2 - today.getDate().toString().length) + today.getDate() + "/" + (parseInt(today.getMonth()) + 1) + "/" + today.getFullYear();
         assert.equal(testmask.value, today, "Result " + testmask.value);
     });
-
     qunit.test("backspace year", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -90,7 +87,6 @@ export default function (qunit, $, Inputmask) {
 
         assert.equal(testmask.value, "23/03/yyyy", "Result " + testmask.value);
     });
-
     qunit.test("delete year", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -109,7 +105,6 @@ export default function (qunit, $, Inputmask) {
 
         assert.equal(testmask.value, "23/03/yyyy", "Result " + testmask.value);
     });
-
     qunit.test("set date 592017", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -122,7 +117,6 @@ export default function (qunit, $, Inputmask) {
         $("#testmask").val("592017");
         assert.equal(testmask.value, "05/09/2017", "Result " + testmask.value);
     });
-
     qunit.test("set date 01/01/1800 min date 01/01/1900", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -137,7 +131,6 @@ export default function (qunit, $, Inputmask) {
         $("#testmask").val("01011800");
         assert.equal(testmask.value, "01/01/1yyy", "Result " + testmask.value);
     });
-
     qunit.test("set date 01/01/2018 max date 31/12/2017", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -152,7 +145,6 @@ export default function (qunit, $, Inputmask) {
         $("#testmask").val("01012018");
         assert.equal(testmask.value, "01/01/201y", "Result " + testmask.value);
     });
-
     qunit.test("set date 01/01/1900 min date 01/01/1900", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -167,7 +159,6 @@ export default function (qunit, $, Inputmask) {
         $("#testmask").val("01011900");
         assert.equal(testmask.value, "01/01/1900", "Result " + testmask.value);
     });
-
     qunit.test("set date 31/12/2017 max date 31/12/2017", function (assert) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
@@ -182,4 +173,179 @@ export default function (qunit, $, Inputmask) {
         $("#testmask").val("31122017");
         assert.equal(testmask.value, "31/12/2017", "Result " + testmask.value);
     });
+
+    qunit.module("Date.Extensions - mm/dd/yyyy");
+    qunit.test("valid entry", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").Type("3231973");
+
+        assert.equal(testmask.value, "03/23/1973", "Result " + testmask.value);
+    });
+    qunit.test("invalid entry", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").Type("abcdefghijklmnop");
+
+        assert.equal(testmask.value, "", "Result " + testmask.value);
+    });
+    qunit.test("overtype valid entry", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").Type("3231973");
+        $.caret(testmask, 0, "03/23/1973".length);
+        $("#testmask").Type("10042017");
+
+        assert.equal(testmask.value, "10/04/2017", "Result " + testmask.value);
+    });
+    qunit.test("overtype invalid entry", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").Type("3231973");
+        $.caret(testmask, 0, "03/23/1973".length);
+        $("#testmask").Type("abcdefghijklmnop");
+
+        assert.equal(testmask.value, "03/23/1973", "Result " + testmask.value);
+    });
+    qunit.test("insert current date", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").SendKey(Inputmask.keyCode.RIGHT, Inputmask.keyCode.CONTROL);
+        var today = new Date();
+        today = (parseInt(today.getMonth()) + 1) + "/" + "00".substr(0, 2 - today.getDate().toString().length) + today.getDate() + "/" + today.getFullYear();
+        assert.equal(testmask.value, today, "Result " + testmask.value);
+    });
+    qunit.test("backspace year", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").Type("3231973");
+        $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+        $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+        $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+        $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
+
+        assert.equal(testmask.value, "03/23/yyyy", "Result " + testmask.value);
+    });
+    qunit.test("delete year", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").Type("3231973");
+        $.caret(testmask, "03/23/".length);
+        $("#testmask").SendKey(Inputmask.keyCode.DELETE);
+        $("#testmask").SendKey(Inputmask.keyCode.DELETE);
+        $("#testmask").SendKey(Inputmask.keyCode.DELETE);
+        $("#testmask").SendKey(Inputmask.keyCode.DELETE);
+
+        assert.equal(testmask.value, "03/23/yyyy", "Result " + testmask.value);
+    });
+    qunit.test("set date 952017", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").val("952017");
+        assert.equal(testmask.value, "09/05/2017", "Result " + testmask.value);
+    });
+    qunit.test("set date 01/01/1800 min date 01/01/1900", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy",
+            min: "01/01/1900",
+            max: "12/31/2017"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").val("01011800");
+        assert.equal(testmask.value, "01/01/1yyy", "Result " + testmask.value);
+    });
+    qunit.test("set date 01/01/2018 max date 12/31/2017", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy",
+            min: "01/01/1900",
+            max: "12/31/2017"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").val("01012018");
+        assert.equal(testmask.value, "01/01/201y", "Result " + testmask.value);
+    });
+    qunit.test("set date 01/01/1900 min date 01/01/1900", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy",
+            min: "01/01/1900",
+            max: "12/31/2017"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").val("01011900");
+        assert.equal(testmask.value, "01/01/1900", "Result " + testmask.value);
+    });
+    qunit.test("set date 12/31/2017 max date 12/31/2017", function (assert) {
+        var $fixture = $("#qunit-fixture");
+        $fixture.append('<input type="text" id="testmask" />');
+        var testmask = document.getElementById("testmask");
+        Inputmask("datetime", {
+            inputFormat: "mm/dd/yyyy",
+            min: "01/01/1900",
+            max: "12/31/2017"
+        }).mask(testmask);
+
+        testmask.focus();
+        $("#testmask").val("12312017");
+        assert.equal(testmask.value, "12/31/2017", "Result " + testmask.value);
+    });
 };