Robin Herbots 8 years ago
parent
commit
8abb73d2b8
47 changed files with 297 additions and 313 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. 5 13
      dist/inputmask/inputmask.date.extensions.js
  11. 1 1
      dist/inputmask/inputmask.extensions.js
  12. 1 1
      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-nl.js
  19. 1 1
      dist/inputmask/phone-codes/phone-ru.js
  20. 1 1
      dist/inputmask/phone-codes/phone-uk.js
  21. 1 1
      dist/inputmask/phone-codes/phone-us.js
  22. 3 3
      dist/inputmask/phone-codes/phone.js
  23. 5 13
      dist/jquery.inputmask.bundle.js
  24. 1 1
      dist/min/inputmask/bindings/inputmask.binding.min.js
  25. 1 1
      dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.jqlite.min.js
  26. 1 1
      dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.jquery.min.js
  27. 1 1
      dist/min/inputmask/dependencyLibs/inputmask.dependencyLib.min.js
  28. 1 1
      dist/min/inputmask/global/document.min.js
  29. 1 1
      dist/min/inputmask/global/window.min.js
  30. 2 2
      dist/min/inputmask/inputmask.date.extensions.min.js
  31. 1 1
      dist/min/inputmask/inputmask.extensions.min.js
  32. 2 2
      dist/min/inputmask/inputmask.min.js
  33. 1 1
      dist/min/inputmask/inputmask.numeric.extensions.min.js
  34. 1 1
      dist/min/inputmask/inputmask.phone.extensions.min.js
  35. 1 1
      dist/min/inputmask/jquery.inputmask.min.js
  36. 1 1
      dist/min/inputmask/phone-codes/phone-be.min.js
  37. 1 1
      dist/min/inputmask/phone-codes/phone-ca.min.js
  38. 1 1
      dist/min/inputmask/phone-codes/phone-nl.min.js
  39. 1 1
      dist/min/inputmask/phone-codes/phone-ru.min.js
  40. 1 1
      dist/min/inputmask/phone-codes/phone-uk.min.js
  41. 1 1
      dist/min/inputmask/phone-codes/phone-us.min.js
  42. 1 1
      dist/min/inputmask/phone-codes/phone.min.js
  43. 2 2
      dist/min/jquery.inputmask.bundle.min.js
  44. 6 13
      js/inputmask.date.extensions.js
  45. 1 1
      package.json
  46. 6 2
      qunit/tests_base.js
  47. 228 225
      qunit/tests_formatvalidate.js

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "inputmask",
-  "version": "4.0.0-56",
+  "version": "4.0.0-57",
   "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-56",
+	"version": "4.0.0-57",
 	"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-56",
+  "version": "4.0.0-57",
   "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 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 !function(factory) {

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

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

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

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

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

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

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

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 "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 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 "function" == typeof define && define.amd ? define(function() {

+ 5 - 13
dist/inputmask/inputmask.date.extensions.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 !function(factory) {
@@ -14,8 +14,8 @@
             return ndx;
         }).join("|") + ")+|.", opts.tokenizer = new RegExp(opts.tokenizer, "g")), opts.tokenizer;
     }
-    function isValidDate(dateParts) {
-        return 29 == dateParts.day && !isFinite(dateParts.rawyear) || new Date(dateParts.year, dateParts.month, 0).getDate() >= dateParts.day;
+    function isValidDate(dateParts, currentResult) {
+        return (29 == dateParts.day && !isFinite(dateParts.rawyear) || new Date(dateParts.year, dateParts.month, 0).getDate() >= dateParts.day) && currentResult;
     }
     function isDateInRange(maskDate, opts) {
         var result = !0;
@@ -77,14 +77,6 @@
         o: "",
         S: ""
     }, formatAlias = {
-        default: "ddd mmm dd yyyy HH:MM:ss",
-        shortDate: "m/d/yy",
-        mediumDate: "mmm d, yyyy",
-        longDate: "mmmm d, yyyy",
-        fullDate: "dddd, mmmm d, yyyy",
-        shortTime: "h:MM TT",
-        mediumTime: "h:MM:ss TT",
-        longTime: "h:MM:ss TT Z",
         isoDate: "yyyy-mm-dd",
         isoTime: "HH:MM:ss",
         isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
@@ -99,14 +91,14 @@
                 opts.min = analyseMask(opts.min, opts.inputFormat, opts), opts.max = analyseMask(opts.max, opts.inputFormat, opts), 
                 opts.regex = parse(opts.inputFormat, opts), null;
             },
-            inputFormat: "dd/mm/yyyy HH:MM",
+            inputFormat: "isoDateTime",
             displayFormat: void 0,
             outputFormat: void 0,
             min: null,
             max: null,
             postValidation: function(buffer, currentResult, opts) {
                 var result = currentResult, dateParts = analyseMask(buffer.join(""), opts.inputFormat, opts);
-                return result && dateParts.date.getTime() === dateParts.date.getTime() && (result = isValidDate(dateParts)), 
+                return result && dateParts.date.getTime() === dateParts.date.getTime() && (result = isValidDate(dateParts, currentResult)), 
                 result && dateParts.datetime.getTime() === dateParts.datetime.getTime() && (result = isDateInRange(dateParts.date, opts)), 
                 result;
             },

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

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

+ 1 - 1
dist/inputmask/inputmask.js

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 !function(factory) {
@@ -615,7 +615,7 @@
                 name_ru: "Майотта",
                 desc_ru: ""
             }, {
-                mask: "+33(#) ##-##-##-##",
+                mask: "+33(###)###-###",
                 cc: "FR",
                 cd: "France",
                 desc_en: "",
@@ -2108,4 +2108,4 @@
             } ]
         }
     }), Inputmask;
-});
+});

+ 5 - 13
dist/jquery.inputmask.bundle.js

@@ -3,7 +3,7 @@
 * https://github.com/RobinHerbots/Inputmask
 * Copyright (c) 2010 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 !function(modules) {
@@ -1927,8 +1927,8 @@
                 return ndx;
             }).join("|") + ")+|.", opts.tokenizer = new RegExp(opts.tokenizer, "g")), opts.tokenizer;
         }
-        function isValidDate(dateParts) {
-            return 29 == dateParts.day && !isFinite(dateParts.rawyear) || new Date(dateParts.year, dateParts.month, 0).getDate() >= dateParts.day;
+        function isValidDate(dateParts, currentResult) {
+            return (29 == dateParts.day && !isFinite(dateParts.rawyear) || new Date(dateParts.year, dateParts.month, 0).getDate() >= dateParts.day) && currentResult;
         }
         function isDateInRange(maskDate, opts) {
             var result = !0;
@@ -1990,14 +1990,6 @@
             o: "",
             S: ""
         }, formatAlias = {
-            default: "ddd mmm dd yyyy HH:MM:ss",
-            shortDate: "m/d/yy",
-            mediumDate: "mmm d, yyyy",
-            longDate: "mmmm d, yyyy",
-            fullDate: "dddd, mmmm d, yyyy",
-            shortTime: "h:MM TT",
-            mediumTime: "h:MM:ss TT",
-            longTime: "h:MM:ss TT Z",
             isoDate: "yyyy-mm-dd",
             isoTime: "HH:MM:ss",
             isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
@@ -2012,14 +2004,14 @@
                     opts.min = analyseMask(opts.min, opts.inputFormat, opts), opts.max = analyseMask(opts.max, opts.inputFormat, opts), 
                     opts.regex = parse(opts.inputFormat, opts), null;
                 },
-                inputFormat: "dd/mm/yyyy HH:MM",
+                inputFormat: "isoDateTime",
                 displayFormat: void 0,
                 outputFormat: void 0,
                 min: null,
                 max: null,
                 postValidation: function(buffer, currentResult, opts) {
                     var result = currentResult, dateParts = analyseMask(buffer.join(""), opts.inputFormat, opts);
-                    return result && dateParts.date.getTime() === dateParts.date.getTime() && (result = isValidDate(dateParts)), 
+                    return result && dateParts.date.getTime() === dateParts.date.getTime() && (result = isValidDate(dateParts, currentResult)), 
                     result && dateParts.datetime.getTime() === dateParts.datetime.getTime() && (result = isDateInRange(dateParts.date, opts)), 
                     result;
                 },

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 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 !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 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 "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 - 2017 Robin Herbots
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
-* Version: 4.0.0-56
+* Version: 4.0.0-57
 */
 
 "function"==typeof define&&define.amd?define(function(){return window}):"object"==typeof exports&&(module.exports=window);

File diff suppressed because it is too large
+ 2 - 2
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-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-us.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


+ 6 - 13
js/inputmask.date.extensions.js

@@ -50,14 +50,6 @@
             S: "" //The date's ordinal suffix (st, nd, rd, or th). Works well with d.
         },
         formatAlias = {
-            default: "ddd mmm dd yyyy HH:MM:ss", //Sat Jun 09 2007 17:46:21
-            shortDate: "m/d/yy", //6/9/07
-            mediumDate: "mmm d, yyyy", //Jun 9, 2007
-            longDate: "mmmm d, yyyy", //June 9, 2007
-            fullDate: "dddd, mmmm d, yyyy", //Saturday, June 9, 2007
-            shortTime: "h:MM TT", //5:46 PM
-            mediumTime: "h:MM:ss TT", //5:46:21 PM
-            longTime: "h:MM:ss TT Z", //5:46:21 PM EST
             isoDate: "yyyy-mm-dd", //2007-06-09
             isoTime: "HH:MM:ss", //17:46:21
             isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", //2007-06-09T17:46:21
@@ -76,9 +68,10 @@
         return opts.tokenizer;
     }
 
-    function isValidDate(dateParts) {
-        if (dateParts.day == 29 && !isFinite(dateParts.rawyear)) return true;
-        return new Date(dateParts.year, dateParts.month, 0).getDate() >= dateParts.day;
+    function isValidDate(dateParts, currentResult) {
+        return (dateParts.day == 29 && !isFinite(dateParts.rawyear)) || new Date(dateParts.year, dateParts.month, 0).getDate() >= dateParts.day
+            ? currentResult
+            : false; //take corrective action if possible
     }
 
     function isDateInRange(maskDate, opts) {
@@ -167,7 +160,7 @@
                 // console.log(opts.regex);
                 return null; //migrate to regex mask
             },
-            inputFormat: "dd/mm/yyyy HH:MM", //format used to input the date
+            inputFormat: "isoDateTime", //format used to input the date
             displayFormat: undefined, //visual format when the input looses focus
             outputFormat: undefined, //unmasking format
             min: null, //needs to be in the same format as the inputfornat
@@ -175,7 +168,7 @@
             postValidation: function (buffer, currentResult, opts) {
                 var result = currentResult, dateParts = analyseMask(buffer.join(""), opts.inputFormat, opts);
                 if (result && dateParts.date.getTime() === dateParts.date.getTime()) {
-                    result = isValidDate(dateParts);
+                    result = isValidDate(dateParts, currentResult);
                 }
                 if (result && dateParts.datetime.getTime() === dateParts.datetime.getTime()) { //check for a valid date ~ an invalid date returns NaN which isn't equal
                     result = isDateInRange(dateParts.date, opts);

+ 1 - 1
package.json

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

+ 6 - 2
qunit/tests_base.js

@@ -258,7 +258,9 @@ export default function (qunit, $, Inputmask) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
         var testmask = document.getElementById("testmask");
-        Inputmask("dd/mm/yyyy").mask(testmask);
+        Inputmask("datetime", {
+            inputFormat: "dd/mm/yyyy"
+        }).mask(testmask);
 
         testmask.focus();
         $("#testmask").Type("23314");
@@ -271,7 +273,9 @@ export default function (qunit, $, Inputmask) {
         var $fixture = $("#qunit-fixture");
         $fixture.append('<input type="text" id="testmask" />');
         var testmask = document.getElementById("testmask");
-        Inputmask("dd/mm/yyyy").mask(testmask);
+        Inputmask("datetime", {
+            inputFormat: "dd/mm/yyyy"
+        }).mask(testmask);
 
         testmask.focus();
         $("#testmask").Type("23314");

+ 228 - 225
qunit/tests_formatvalidate.js

@@ -1,228 +1,231 @@
-export default function(qunit, $, Inputmask) {
-	qunit.module("Value formatting");
-	qunit.test("Inputmask.format(\"2331973\", { alias: \"date\"})", function(assert) {
-		var formattedValue = Inputmask.format("2331973", {
-			alias: "date"
-		});
-		assert.equal(formattedValue, "23/03/1973", "Result " + formattedValue);
-	});
-
-	qunit.test("Inputmask.format(\"016501030020001DE1015170\", { mask: \"99 999 999 999 9999 \\D\\E*** 9999\"})", function(assert) {
-		var formattedValue = Inputmask.format("016501030020001DE1015170", {
-			mask: "99 999 999 999 9999 \\D\\E*** 9999"
-		});
-		assert.equal(formattedValue, "01 650 103 002 0001 DE101 5170", "Result " + formattedValue);
-	});
-
-	qunit.test("Inputmask.format(\"12\", {  mask: \"$ 999999\", numericInput: true, placeholder: \"0\" }); - gigermocas", function(assert) {
-		var formattedValue = Inputmask.format("12", {
-			mask: "$ 999999",
-			numericInput: true,
-			placeholder: "0"
-		});
-		assert.equal(formattedValue, "$ 000012", "Result " + formattedValue);
-	});
-
-
-	qunit.test("Inputmask.format(\"1111111.11\" - ... autoGroup: true - swd120", function(assert) {
-		var formattedValue = Inputmask.format("1111111.11", {
-			alias: "decimal",
-			radixPoint: ".",
-			digits: 2,
-			autoGroup: true,
-			groupSeparator: ",",
-			groupSize: 3,
-			allowMinus: true
-		});
-		assert.equal(formattedValue, "1,111,111.11", "Result " + formattedValue);
-	});
-
-	qunit.test("Inputmask.format(phone, { mask: '(999) 999-9999' })); - krivaten", function(assert) {
-		var phone = '5551112222';
-		var formattedValue = Inputmask.format(phone, {
-			mask: '(999) 999-9999'
-		});
-		assert.equal(formattedValue, "(555) 111-2222", "Result " + formattedValue);
-	});
-
-	qunit.test("format(62.91, { alias: 'numeric' } - penihel", function(assert) {
-		var formattedValue = 	Inputmask.format(62.91, { alias: 'numeric' });
-		assert.equal(formattedValue, "62.91", "Result " + formattedValue);
-	});
-
-	qunit.module("Value Validating");
-	qunit.test("Inputmask.isValid(\"23/03/1973\", { alias: \"date\"})", function(assert) {
-		var isValid = Inputmask.isValid("23/03/1973", {
-			alias: "date"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("Inputmask.isValid(\"01 650 103 002 0001 DE101 5170\", { mask: \"99 999 999 999 9999 \\D\\E*** 9999\"})", function(assert) {
-		var isValid = Inputmask.isValid("01 650 103 002 0001 DE101 5170", {
-			mask: "99 999 999 999 9999 \\D\\E*** 9999"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("Inputmask.isValid email => false", function(assert) {
-		var isValid = Inputmask.isValid("some.body@mail.c", {
-			alias: "email"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("Inputmask.isValid email => true", function(assert) {
-		var isValid = Inputmask.isValid("some.body@mail.com", {
-			alias: "email"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("Inputmask.isValid email greedy => false", function(assert) {
-		var isValid = Inputmask.isValid("some.body@mail.c", {
-			alias: "email",
-			greedy: true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("Inputmask.isValid email greedy => true", function(assert) {
-		var isValid = Inputmask.isValid("some.body@mail.com", {
-			alias: "email",
-			greedy: true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("YoussefTaghlabi isValid(\"100\", { alias: \"integer\" }", function(assert) {
-		var isValid = Inputmask.isValid("100", {
-			alias: "integer"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"100.00\", { alias: \"integer\" }", function(assert) {
-		var isValid = Inputmask.isValid("100.00", {
-			alias: "integer"
-		});
-		assert.equal(isValid, false, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"123\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("123", {
-			alias: "decimal"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"123.45\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("123.45", {
-			alias: "decimal"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"123456.78\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("123456.78", {
-			alias: "decimal"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"123,456.78\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("123,456.78", {
-			alias: "decimal",
-			radixPoint: ".",
-			groupSeparator: ",",
-			groupSize: 3,
-			autoGroup: true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"12,\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("12,", {
-			alias: "decimal",
-			radixPoint: ".",
-			groupSeparator: ",",
-			groupSize: 3
-		});
-		assert.equal(isValid, false, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"12,1.45\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("12,1.45", {
-			alias: "decimal",
-			radixPoint: ".",
-			groupSeparator: ",",
-			groupSize: 3
-		});
-		assert.equal(isValid, false, "Result " + isValid);
-	});
-	qunit.test("YoussefTaghlabi isValid(\"12,345.67\", { alias: \"decimal\" }", function(assert) {
-		var isValid = Inputmask.isValid("12,345.67", {
-			alias: "decimal",
-			radixPoint: ".",
-			groupSeparator: ",",
-			groupSize: 3,
-			autoGroup: true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("thomstark isValid(\"12lbs\", {mask:\"99[9]lb\\s\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function(assert) {
-		var isValid = Inputmask.isValid("12lbs", {
-			mask: "99[9]lb\\s",
-			greedy: false,
-			skipOptionalPartCharacter: "",
-			"clearIncomplete": true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("thomstark isValid(\"1'2\"\", {mask:\"9'9[9]\"\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function(assert) {
-		var isValid = Inputmask.isValid("1'2\"", {
-			mask: "9'9[9]\"",
-			greedy: false,
-			skipOptionalPartCharacter: "",
-			"clearIncomplete": true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("thomstark isValid(\"12lbs\", {mask:\"99{1,2}lb\\s\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function(assert) {
-		var isValid = Inputmask.isValid("12lbs", {
-			mask: "99{1,2}lb\\s",
-			greedy: false,
-			skipOptionalPartCharacter: "",
-			"clearIncomplete": true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("thomstark isValid(\"9'9{1,2}\", {mask:\"9'9[9]\"\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function(assert) {
-		var isValid = Inputmask.isValid("1'2\"", {
-			mask: "9'9{1,2}\"",
-			greedy: false,
-			skipOptionalPartCharacter: "",
-			"clearIncomplete": true
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("a13x3y isValid(\"some_body@mail.com\", {alias:\"email\"}", function(assert) {
-		var isValid = Inputmask.isValid("some_body@mail.com", {
-			alias: "email"
-		});
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.test("Inputmask(\"99-99[ 99/99]\").isValid(\"03-11\") - pricejt", function(assert) {
-		var isValid = Inputmask("99-99[ 99/99]").isValid("03-11");
-		assert.equal(isValid, true, "Result " + isValid);
-	});
-
-	qunit.module("Value unmasking");
-	qunit.test("inputmask.unmask(\"23/03/1973\", { alias: \"dd/mm/yyyy\" })", function(assert) {
-		var unmasked = Inputmask.unmask("23/03/1973", {
-			alias: "dd/mm/yyyy"
-		});
-		assert.equal(unmasked, "23031973", "Result " + unmasked);
-	});
+export default function (qunit, $, Inputmask) {
+    qunit.module("Value formatting");
+    qunit.test("Inputmask.format(\"2331973\", { alias: \"datetime\"})", function (assert) {
+        var formattedValue = Inputmask.format("2331973", {
+            alias: "datetime",
+            inputFormat: "dd/mm/yyyy"
+        });
+        assert.equal(formattedValue, "23/03/1973", "Result " + formattedValue);
+    });
+
+    qunit.test("Inputmask.format(\"016501030020001DE1015170\", { mask: \"99 999 999 999 9999 \\D\\E*** 9999\"})", function (assert) {
+        var formattedValue = Inputmask.format("016501030020001DE1015170", {
+            mask: "99 999 999 999 9999 \\D\\E*** 9999"
+        });
+        assert.equal(formattedValue, "01 650 103 002 0001 DE101 5170", "Result " + formattedValue);
+    });
+
+    qunit.test("Inputmask.format(\"12\", {  mask: \"$ 999999\", numericInput: true, placeholder: \"0\" }); - gigermocas", function (assert) {
+        var formattedValue = Inputmask.format("12", {
+            mask: "$ 999999",
+            numericInput: true,
+            placeholder: "0"
+        });
+        assert.equal(formattedValue, "$ 000012", "Result " + formattedValue);
+    });
+
+
+    qunit.test("Inputmask.format(\"1111111.11\" - ... autoGroup: true - swd120", function (assert) {
+        var formattedValue = Inputmask.format("1111111.11", {
+            alias: "decimal",
+            radixPoint: ".",
+            digits: 2,
+            autoGroup: true,
+            groupSeparator: ",",
+            groupSize: 3,
+            allowMinus: true
+        });
+        assert.equal(formattedValue, "1,111,111.11", "Result " + formattedValue);
+    });
+
+    qunit.test("Inputmask.format(phone, { mask: '(999) 999-9999' })); - krivaten", function (assert) {
+        var phone = '5551112222';
+        var formattedValue = Inputmask.format(phone, {
+            mask: '(999) 999-9999'
+        });
+        assert.equal(formattedValue, "(555) 111-2222", "Result " + formattedValue);
+    });
+
+    qunit.test("format(62.91, { alias: 'numeric' } - penihel", function (assert) {
+        var formattedValue = Inputmask.format(62.91, {alias: 'numeric'});
+        assert.equal(formattedValue, "62.91", "Result " + formattedValue);
+    });
+
+    qunit.module("Value Validating");
+    qunit.test("Inputmask.isValid(\"23/03/1973\", { alias: \"datetime\"})", function (assert) {
+        var isValid = Inputmask.isValid("23/03/1973", {
+            alias: "datetime",
+            inputFormat: "dd/mm/yyyy"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("Inputmask.isValid(\"01 650 103 002 0001 DE101 5170\", { mask: \"99 999 999 999 9999 \\D\\E*** 9999\"})", function (assert) {
+        var isValid = Inputmask.isValid("01 650 103 002 0001 DE101 5170", {
+            mask: "99 999 999 999 9999 \\D\\E*** 9999"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("Inputmask.isValid email => false", function (assert) {
+        var isValid = Inputmask.isValid("some.body@mail.c", {
+            alias: "email"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("Inputmask.isValid email => true", function (assert) {
+        var isValid = Inputmask.isValid("some.body@mail.com", {
+            alias: "email"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("Inputmask.isValid email greedy => false", function (assert) {
+        var isValid = Inputmask.isValid("some.body@mail.c", {
+            alias: "email",
+            greedy: true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("Inputmask.isValid email greedy => true", function (assert) {
+        var isValid = Inputmask.isValid("some.body@mail.com", {
+            alias: "email",
+            greedy: true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("YoussefTaghlabi isValid(\"100\", { alias: \"integer\" }", function (assert) {
+        var isValid = Inputmask.isValid("100", {
+            alias: "integer"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"100.00\", { alias: \"integer\" }", function (assert) {
+        var isValid = Inputmask.isValid("100.00", {
+            alias: "integer"
+        });
+        assert.equal(isValid, false, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"123\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("123", {
+            alias: "decimal"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"123.45\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("123.45", {
+            alias: "decimal"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"123456.78\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("123456.78", {
+            alias: "decimal"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"123,456.78\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("123,456.78", {
+            alias: "decimal",
+            radixPoint: ".",
+            groupSeparator: ",",
+            groupSize: 3,
+            autoGroup: true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"12,\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("12,", {
+            alias: "decimal",
+            radixPoint: ".",
+            groupSeparator: ",",
+            groupSize: 3
+        });
+        assert.equal(isValid, false, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"12,1.45\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("12,1.45", {
+            alias: "decimal",
+            radixPoint: ".",
+            groupSeparator: ",",
+            groupSize: 3
+        });
+        assert.equal(isValid, false, "Result " + isValid);
+    });
+    qunit.test("YoussefTaghlabi isValid(\"12,345.67\", { alias: \"decimal\" }", function (assert) {
+        var isValid = Inputmask.isValid("12,345.67", {
+            alias: "decimal",
+            radixPoint: ".",
+            groupSeparator: ",",
+            groupSize: 3,
+            autoGroup: true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("thomstark isValid(\"12lbs\", {mask:\"99[9]lb\\s\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function (assert) {
+        var isValid = Inputmask.isValid("12lbs", {
+            mask: "99[9]lb\\s",
+            greedy: false,
+            skipOptionalPartCharacter: "",
+            "clearIncomplete": true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("thomstark isValid(\"1'2\"\", {mask:\"9'9[9]\"\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function (assert) {
+        var isValid = Inputmask.isValid("1'2\"", {
+            mask: "9'9[9]\"",
+            greedy: false,
+            skipOptionalPartCharacter: "",
+            "clearIncomplete": true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("thomstark isValid(\"12lbs\", {mask:\"99{1,2}lb\\s\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function (assert) {
+        var isValid = Inputmask.isValid("12lbs", {
+            mask: "99{1,2}lb\\s",
+            greedy: false,
+            skipOptionalPartCharacter: "",
+            "clearIncomplete": true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("thomstark isValid(\"9'9{1,2}\", {mask:\"9'9[9]\"\", greedy:false, skipOptionalPartCharacter: \"\", \"clearIncomplete\":true}", function (assert) {
+        var isValid = Inputmask.isValid("1'2\"", {
+            mask: "9'9{1,2}\"",
+            greedy: false,
+            skipOptionalPartCharacter: "",
+            "clearIncomplete": true
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("a13x3y isValid(\"some_body@mail.com\", {alias:\"email\"}", function (assert) {
+        var isValid = Inputmask.isValid("some_body@mail.com", {
+            alias: "email"
+        });
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.test("Inputmask(\"99-99[ 99/99]\").isValid(\"03-11\") - pricejt", function (assert) {
+        var isValid = Inputmask("99-99[ 99/99]").isValid("03-11");
+        assert.equal(isValid, true, "Result " + isValid);
+    });
+
+    qunit.module("Value unmasking");
+    qunit.test("inputmask.unmask(\"23/03/1973\", { alias: \"datetime dd/mm/yyyy\" })", function (assert) {
+        var unmasked = Inputmask.unmask("23/03/1973", {
+            alias: "datetime",
+            inputFormat: "dd/mm/yyyy"
+        });
+        assert.equal(unmasked, "23031973", "Result " + unmasked);
+    });
 
 
 };