tests_date.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  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. qunit.test("set date 01/01/1800 min date 01/01/1900", function (assert) {
  107. var $fixture = $("#qunit-fixture");
  108. $fixture.append('<input type="text" id="testmask" />');
  109. var testmask = document.getElementById("testmask");
  110. Inputmask("datetime", {
  111. inputFormat: "dd/mm/yyyy",
  112. min: "01/01/1900",
  113. max: "31/12/2017"
  114. }).mask(testmask);
  115. testmask.focus();
  116. $("#testmask").val("01011800");
  117. assert.equal(testmask.value, "01/01/1yyy", "Result " + testmask.value);
  118. });
  119. qunit.test("set date 01/01/2018 max date 31/12/2017", function (assert) {
  120. var $fixture = $("#qunit-fixture");
  121. $fixture.append('<input type="text" id="testmask" />');
  122. var testmask = document.getElementById("testmask");
  123. Inputmask("datetime", {
  124. inputFormat: "dd/mm/yyyy",
  125. min: "01/01/1900",
  126. max: "31/12/2017"
  127. }).mask(testmask);
  128. testmask.focus();
  129. $("#testmask").val("01012018");
  130. assert.equal(testmask.value, "01/01/201y", "Result " + testmask.value);
  131. });
  132. qunit.test("set date 01/01/1900 min date 01/01/1900", function (assert) {
  133. var $fixture = $("#qunit-fixture");
  134. $fixture.append('<input type="text" id="testmask" />');
  135. var testmask = document.getElementById("testmask");
  136. Inputmask("datetime", {
  137. inputFormat: "dd/mm/yyyy",
  138. min: "01/01/1900",
  139. max: "31/12/2017"
  140. }).mask(testmask);
  141. testmask.focus();
  142. $("#testmask").val("01011900");
  143. assert.equal(testmask.value, "01/01/1900", "Result " + testmask.value);
  144. });
  145. qunit.test("set date 31/12/2017 max date 31/12/2017", function (assert) {
  146. var $fixture = $("#qunit-fixture");
  147. $fixture.append('<input type="text" id="testmask" />');
  148. var testmask = document.getElementById("testmask");
  149. Inputmask("datetime", {
  150. inputFormat: "dd/mm/yyyy",
  151. min: "01/01/1900",
  152. max: "31/12/2017"
  153. }).mask(testmask);
  154. testmask.focus();
  155. $("#testmask").val("31122017");
  156. assert.equal(testmask.value, "31/12/2017", "Result " + testmask.value);
  157. });
  158. qunit.module("Date.Extensions - mm/dd/yyyy");
  159. qunit.test("valid entry", function (assert) {
  160. var $fixture = $("#qunit-fixture");
  161. $fixture.append('<input type="text" id="testmask" />');
  162. var testmask = document.getElementById("testmask");
  163. Inputmask("datetime", {
  164. inputFormat: "mm/dd/yyyy"
  165. }).mask(testmask);
  166. testmask.focus();
  167. $("#testmask").Type("3231973");
  168. assert.equal(testmask.value, "03/23/1973", "Result " + testmask.value);
  169. });
  170. qunit.test("invalid entry", function (assert) {
  171. var $fixture = $("#qunit-fixture");
  172. $fixture.append('<input type="text" id="testmask" />');
  173. var testmask = document.getElementById("testmask");
  174. Inputmask("datetime", {
  175. inputFormat: "mm/dd/yyyy"
  176. }).mask(testmask);
  177. testmask.focus();
  178. $("#testmask").Type("abcdefghijklmnop");
  179. assert.equal(testmask.value, "", "Result " + testmask.value);
  180. });
  181. qunit.test("overtype valid entry", function (assert) {
  182. var $fixture = $("#qunit-fixture");
  183. $fixture.append('<input type="text" id="testmask" />');
  184. var testmask = document.getElementById("testmask");
  185. Inputmask("datetime", {
  186. inputFormat: "mm/dd/yyyy"
  187. }).mask(testmask);
  188. testmask.focus();
  189. $("#testmask").Type("3231973");
  190. $.caret(testmask, 0, "03/23/1973".length);
  191. $("#testmask").Type("10042017");
  192. assert.equal(testmask.value, "10/04/2017", "Result " + testmask.value);
  193. });
  194. qunit.test("overtype invalid entry", function (assert) {
  195. var $fixture = $("#qunit-fixture");
  196. $fixture.append('<input type="text" id="testmask" />');
  197. var testmask = document.getElementById("testmask");
  198. Inputmask("datetime", {
  199. inputFormat: "mm/dd/yyyy"
  200. }).mask(testmask);
  201. testmask.focus();
  202. $("#testmask").Type("3231973");
  203. $.caret(testmask, 0, "03/23/1973".length);
  204. $("#testmask").Type("abcdefghijklmnop");
  205. assert.equal(testmask.value, "03/23/1973", "Result " + testmask.value);
  206. });
  207. qunit.test("insert current date", function (assert) {
  208. var $fixture = $("#qunit-fixture");
  209. $fixture.append('<input type="text" id="testmask" />');
  210. var testmask = document.getElementById("testmask");
  211. Inputmask("datetime", {
  212. inputFormat: "mm/dd/yyyy"
  213. }).mask(testmask);
  214. testmask.focus();
  215. $("#testmask").SendKey(Inputmask.keyCode.RIGHT, Inputmask.keyCode.CONTROL);
  216. var today = new Date();
  217. today = (parseInt(today.getMonth()) + 1) + "/" + "00".substr(0, 2 - today.getDate().toString().length) + today.getDate() + "/" + today.getFullYear();
  218. assert.equal(testmask.value, today, "Result " + testmask.value);
  219. });
  220. qunit.test("backspace year", function (assert) {
  221. var $fixture = $("#qunit-fixture");
  222. $fixture.append('<input type="text" id="testmask" />');
  223. var testmask = document.getElementById("testmask");
  224. Inputmask("datetime", {
  225. inputFormat: "mm/dd/yyyy"
  226. }).mask(testmask);
  227. testmask.focus();
  228. $("#testmask").Type("3231973");
  229. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  230. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  231. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  232. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  233. assert.equal(testmask.value, "03/23/yyyy", "Result " + testmask.value);
  234. });
  235. qunit.test("delete year", function (assert) {
  236. var $fixture = $("#qunit-fixture");
  237. $fixture.append('<input type="text" id="testmask" />');
  238. var testmask = document.getElementById("testmask");
  239. Inputmask("datetime", {
  240. inputFormat: "mm/dd/yyyy"
  241. }).mask(testmask);
  242. testmask.focus();
  243. $("#testmask").Type("3231973");
  244. $.caret(testmask, "03/23/".length);
  245. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  246. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  247. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  248. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  249. assert.equal(testmask.value, "03/23/yyyy", "Result " + testmask.value);
  250. });
  251. qunit.test("set date 952017", function (assert) {
  252. var $fixture = $("#qunit-fixture");
  253. $fixture.append('<input type="text" id="testmask" />');
  254. var testmask = document.getElementById("testmask");
  255. Inputmask("datetime", {
  256. inputFormat: "mm/dd/yyyy"
  257. }).mask(testmask);
  258. testmask.focus();
  259. $("#testmask").val("952017");
  260. assert.equal(testmask.value, "09/05/2017", "Result " + testmask.value);
  261. });
  262. qunit.test("set date 01/01/1800 min date 01/01/1900", function (assert) {
  263. var $fixture = $("#qunit-fixture");
  264. $fixture.append('<input type="text" id="testmask" />');
  265. var testmask = document.getElementById("testmask");
  266. Inputmask("datetime", {
  267. inputFormat: "mm/dd/yyyy",
  268. min: "01/01/1900",
  269. max: "12/31/2017"
  270. }).mask(testmask);
  271. testmask.focus();
  272. $("#testmask").val("01011800");
  273. assert.equal(testmask.value, "01/01/1yyy", "Result " + testmask.value);
  274. });
  275. qunit.test("set date 01/01/2018 max date 12/31/2017", function (assert) {
  276. var $fixture = $("#qunit-fixture");
  277. $fixture.append('<input type="text" id="testmask" />');
  278. var testmask = document.getElementById("testmask");
  279. Inputmask("datetime", {
  280. inputFormat: "mm/dd/yyyy",
  281. min: "01/01/1900",
  282. max: "12/31/2017"
  283. }).mask(testmask);
  284. testmask.focus();
  285. $("#testmask").val("01012018");
  286. assert.equal(testmask.value, "01/01/201y", "Result " + testmask.value);
  287. });
  288. qunit.test("set date 01/01/1900 min date 01/01/1900", function (assert) {
  289. var $fixture = $("#qunit-fixture");
  290. $fixture.append('<input type="text" id="testmask" />');
  291. var testmask = document.getElementById("testmask");
  292. Inputmask("datetime", {
  293. inputFormat: "mm/dd/yyyy",
  294. min: "01/01/1900",
  295. max: "12/31/2017"
  296. }).mask(testmask);
  297. testmask.focus();
  298. $("#testmask").val("01011900");
  299. assert.equal(testmask.value, "01/01/1900", "Result " + testmask.value);
  300. });
  301. qunit.test("set date 12/31/2017 max date 12/31/2017", function (assert) {
  302. var $fixture = $("#qunit-fixture");
  303. $fixture.append('<input type="text" id="testmask" />');
  304. var testmask = document.getElementById("testmask");
  305. Inputmask("datetime", {
  306. inputFormat: "mm/dd/yyyy",
  307. min: "01/01/1900",
  308. max: "12/31/2017"
  309. }).mask(testmask);
  310. testmask.focus();
  311. $("#testmask").val("12312017");
  312. assert.equal(testmask.value, "12/31/2017", "Result " + testmask.value);
  313. });
  314. };