tests_date.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. export default function (qunit, $, Inputmask) {
  2. qunit.module("Date.Extensions - dd/mm/yyyy");
  3. qunit.test("valid entry", function (assert) {
  4. var $fixture = $("#qunit-fixture");
  5. $fixture.append('<input type="text" id="testmask" />');
  6. var testmask = document.getElementById("testmask");
  7. Inputmask("datetime", {
  8. inputFormat: "dd/mm/yyyy"
  9. }).mask(testmask);
  10. testmask.focus();
  11. $("#testmask").Type("2331973");
  12. assert.equal(testmask.value, "23/03/1973", "Result " + testmask.value);
  13. });
  14. qunit.test("invalid entry", function (assert) {
  15. var $fixture = $("#qunit-fixture");
  16. $fixture.append('<input type="text" id="testmask" />');
  17. var testmask = document.getElementById("testmask");
  18. Inputmask("datetime", {
  19. inputFormat: "dd/mm/yyyy"
  20. }).mask(testmask);
  21. testmask.focus();
  22. $("#testmask").Type("abcdefghijklmnop");
  23. assert.equal(testmask.value, "", "Result " + testmask.value);
  24. });
  25. qunit.test("overtype valid entry", function (assert) {
  26. var $fixture = $("#qunit-fixture");
  27. $fixture.append('<input type="text" id="testmask" />');
  28. var testmask = document.getElementById("testmask");
  29. Inputmask("datetime", {
  30. inputFormat: "dd/mm/yyyy"
  31. }).mask(testmask);
  32. testmask.focus();
  33. $("#testmask").Type("2331973");
  34. $.caret(testmask, 0, "23/03/1973".length);
  35. $("#testmask").Type("04102017");
  36. assert.equal(testmask.value, "04/10/2017", "Result " + testmask.value);
  37. });
  38. qunit.test("overtype invalid entry", function (assert) {
  39. var $fixture = $("#qunit-fixture");
  40. $fixture.append('<input type="text" id="testmask" />');
  41. var testmask = document.getElementById("testmask");
  42. Inputmask("datetime", {
  43. inputFormat: "dd/mm/yyyy"
  44. }).mask(testmask);
  45. testmask.focus();
  46. $("#testmask").Type("2331973");
  47. $.caret(testmask, 0, "23/03/1973".length);
  48. $("#testmask").Type("abcdefghijklmnop");
  49. assert.equal(testmask.value, "23/03/1973", "Result " + testmask.value);
  50. });
  51. qunit.test("insert current date", function (assert) {
  52. var $fixture = $("#qunit-fixture");
  53. $fixture.append('<input type="text" id="testmask" />');
  54. var testmask = document.getElementById("testmask");
  55. Inputmask("datetime", {
  56. inputFormat: "dd/mm/yyyy"
  57. }).mask(testmask);
  58. testmask.focus();
  59. $("#testmask").SendKey(Inputmask.keyCode.RIGHT, Inputmask.keyCode.CONTROL);
  60. var today = new Date();
  61. today = "00".substr(0, 2 - today.getDate().toString().length) + today.getDate() + "/" + (parseInt(today.getMonth()) + 1) + "/" + today.getFullYear();
  62. assert.equal(testmask.value, today, "Result " + testmask.value);
  63. });
  64. qunit.test("backspace year", function (assert) {
  65. var $fixture = $("#qunit-fixture");
  66. $fixture.append('<input type="text" id="testmask" />');
  67. var testmask = document.getElementById("testmask");
  68. Inputmask("datetime", {
  69. inputFormat: "dd/mm/yyyy"
  70. }).mask(testmask);
  71. testmask.focus();
  72. $("#testmask").Type("2331973");
  73. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  74. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  75. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  76. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  77. assert.equal(testmask.value, "23/03/yyyy", "Result " + testmask.value);
  78. });
  79. qunit.test("delete year", function (assert) {
  80. var $fixture = $("#qunit-fixture");
  81. $fixture.append('<input type="text" id="testmask" />');
  82. var testmask = document.getElementById("testmask");
  83. Inputmask("datetime", {
  84. inputFormat: "dd/mm/yyyy"
  85. }).mask(testmask);
  86. testmask.focus();
  87. $("#testmask").Type("2331973");
  88. $.caret(testmask, "23/03/".length);
  89. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  90. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  91. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  92. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  93. assert.equal(testmask.value, "23/03/yyyy", "Result " + testmask.value);
  94. });
  95. qunit.test("set date 592017", function (assert) {
  96. var $fixture = $("#qunit-fixture");
  97. $fixture.append('<input type="text" id="testmask" />');
  98. var testmask = document.getElementById("testmask");
  99. Inputmask("datetime", {
  100. inputFormat: "dd/mm/yyyy"
  101. }).mask(testmask);
  102. testmask.focus();
  103. $("#testmask").val("592017");
  104. assert.equal(testmask.value, "05/09/2017", "Result " + testmask.value);
  105. });
  106. };