tests_optional.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. define([
  2. "qunit",
  3. "inputmask.dependencyLib",
  4. "inputmask",
  5. "../dist/inputmask/inputmask.date.extensions",
  6. "../dist/inputmask/inputmask.extensions",
  7. "../dist/inputmask/inputmask.numeric.extensions",
  8. "../dist/inputmask/inputmask.phone.extensions",
  9. "../dist/inputmask/inputmask.regex.extensions",
  10. "prototypeExtensions",
  11. "simulator"
  12. ], function (qunit, $, Inputmask) {
  13. qunit.module("Optional");
  14. qunit.test("inputmask(\"(99) 9999[9]-99999\") - input 121234-12345", function (assert) {
  15. var $fixture = $("#qunit-fixture");
  16. $fixture.append('<input type="text" id="testmask" />');
  17. var testmask = document.getElementById("testmask");
  18. Inputmask("(99) 9999[9]-99999").mask(testmask);
  19. testmask.focus();
  20. $("#testmask").Type("121234-12345");
  21. assert.equal(testmask.value, "(12) 1234-12345", "Result " + testmask.value);
  22. });
  23. qunit.test("inputmask(\"(99) 9999[9]-99999\") - input 121234512345", function (assert) {
  24. var $fixture = $("#qunit-fixture");
  25. $fixture.append('<input type="text" id="testmask" />');
  26. var testmask = document.getElementById("testmask");
  27. Inputmask("(99) 9999[9]-99999").mask(testmask);
  28. testmask.focus();
  29. $("#testmask").Type("121234512345");
  30. assert.equal(testmask.value, "(12) 12345-12345", "Result " + testmask.value);
  31. });
  32. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: true }) - input 123", function (assert) {
  33. var $fixture = $("#qunit-fixture");
  34. $fixture.append('<input type="text" id="testmask" />');
  35. var testmask = document.getElementById("testmask");
  36. Inputmask({
  37. mask: "99999[-9999]",
  38. greedy: true
  39. }).mask(testmask);
  40. testmask.focus();
  41. $("#testmask").Type("123");
  42. assert.equal(testmask.value, "123__", "Result " + testmask.value);
  43. });
  44. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123", function (assert) {
  45. var $fixture = $("#qunit-fixture");
  46. $fixture.append('<input type="text" id="testmask" />');
  47. var testmask = document.getElementById("testmask");
  48. Inputmask({
  49. mask: "99999[-9999]",
  50. greedy: false
  51. }).mask(testmask);
  52. testmask.focus();
  53. $("#testmask").Type("123");
  54. assert.equal(testmask.value, "123__", "Result " + testmask.value);
  55. });
  56. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 12345", function (assert) {
  57. var $fixture = $("#qunit-fixture");
  58. $fixture.append('<input type="text" id="testmask" />');
  59. var testmask = document.getElementById("testmask");
  60. Inputmask({
  61. mask: "99999[-9999]",
  62. greedy: false
  63. }).mask(testmask);
  64. testmask.focus();
  65. $("#testmask").Type("12345");
  66. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  67. });
  68. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456", function (assert) {
  69. var $fixture = $("#qunit-fixture");
  70. $fixture.append('<input type="text" id="testmask" />');
  71. var testmask = document.getElementById("testmask");
  72. Inputmask({
  73. mask: "99999[-9999]",
  74. greedy: false
  75. }).mask(testmask);
  76. testmask.focus();
  77. $("#testmask").Type("123456");
  78. assert.equal(testmask.value, "12345-6", "Result " + testmask.value);
  79. });
  80. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456789", function (assert) {
  81. var $fixture = $("#qunit-fixture");
  82. $fixture.append('<input type="text" id="testmask" />');
  83. var testmask = document.getElementById("testmask");
  84. Inputmask({
  85. mask: "99999[-9999]",
  86. greedy: false
  87. }).mask(testmask);
  88. testmask.focus();
  89. $("#testmask").Type("123456789");
  90. assert.equal(testmask.value, "12345-6789", "Result " + testmask.value);
  91. });
  92. qunit.test("inputmask(\"9[9][9] 999[9] 9999\") - input 123123 space 1234 - vipink70", function (assert) {
  93. var $fixture = $("#qunit-fixture");
  94. $fixture.append('<input type="text" id="testmask" />');
  95. var testmask = document.getElementById("testmask");
  96. Inputmask("9[9][9] 999[9] 9999").mask(testmask);
  97. testmask.focus();
  98. $("#testmask").Type("123123");
  99. $("#testmask").SendKey(Inputmask.keyCode.SPACE);
  100. $("#testmask").Type("1234");
  101. assert.equal(testmask.value, "123 123 1234", "Result " + testmask.value);
  102. });
  103. qunit.test("inputmask('[9-]AAA.999') ", function (assert) {
  104. var $fixture = $("#qunit-fixture");
  105. $fixture.append('<input type="text" id="testmask" />');
  106. var testmask = document.getElementById("testmask");
  107. Inputmask('[9-]AAA.999').mask(testmask);
  108. $("#testmask").Type("1abc123");
  109. $.caret(testmask, 4, 5);
  110. $("#testmask").Type("d");
  111. assert.equal(testmask.value, "1-ABD.123", "Result " + testmask.value);
  112. });
  113. qunit.test("inputmask('9[9]:99') ", function (assert) {
  114. var $fixture = $("#qunit-fixture");
  115. $fixture.append('<input type="text" id="testmask" />');
  116. var testmask = document.getElementById("testmask");
  117. Inputmask('9[9]:99').mask(testmask);
  118. $("#testmask").Type("3:44");
  119. $.caret(testmask, 1);
  120. $("#testmask").Type("3");
  121. assert.equal(testmask.value, "33:44", "Result " + testmask.value);
  122. });
  123. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456", function (assert) {
  124. var $fixture = $("#qunit-fixture");
  125. $fixture.append('<input type="text" id="testmask" />');
  126. var testmask = document.getElementById("testmask");
  127. Inputmask({
  128. mask: "99999[-9999]",
  129. greedy: false
  130. }).mask(testmask);
  131. testmask.focus();
  132. $("#testmask").Type("123456");
  133. testmask.blur();
  134. $("#testmask").trigger("mouseenter");
  135. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  136. });
  137. qunit.test("inputmask({ mask: \"9'9{1,2}\"\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  138. var $fixture = $("#qunit-fixture");
  139. $fixture.append('<input type="text" id="testmask" />');
  140. var testmask = document.getElementById("testmask");
  141. Inputmask({
  142. mask: "9'9{1,2}\"",
  143. greedy: false,
  144. skipOptionalPartCharacter: "",
  145. "clearIncomplete": true
  146. }).mask(testmask);
  147. testmask.focus();
  148. $("#testmask").Type("12");
  149. testmask.blur();
  150. assert.equal(testmask.value, "1'2\"", "Result " + testmask.value);
  151. });
  152. qunit.test("inputmask({ mask: \"99{1,2}lb\\s\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  153. var $fixture = $("#qunit-fixture");
  154. $fixture.append('<input type="text" id="testmask" />');
  155. var testmask = document.getElementById("testmask");
  156. Inputmask({
  157. mask: "99{1,2}lb\\s",
  158. greedy: false,
  159. skipOptionalPartCharacter: "",
  160. "clearIncomplete": true
  161. }).mask(testmask);
  162. testmask.focus();
  163. $("#testmask").Type("12");
  164. testmask.blur();
  165. assert.equal(testmask.value, "12lbs", "Result " + testmask.value);
  166. });
  167. qunit.test("inputmask({ mask: \"9'9[9]\"\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  168. var $fixture = $("#qunit-fixture");
  169. $fixture.append('<input type="text" id="testmask" />');
  170. var testmask = document.getElementById("testmask");
  171. Inputmask({
  172. mask: "9'9[9]\"",
  173. greedy: false,
  174. skipOptionalPartCharacter: "",
  175. "clearIncomplete": true
  176. }).mask(testmask);
  177. testmask.focus();
  178. $("#testmask").Type("12");
  179. testmask.blur();
  180. assert.equal(testmask.value, "1'2\"", "Result " + testmask.value);
  181. });
  182. qunit.test("inputmask({ mask: \"99[9]lb\\s\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  183. var $fixture = $("#qunit-fixture");
  184. $fixture.append('<input type="text" id="testmask" />');
  185. var testmask = document.getElementById("testmask");
  186. Inputmask({
  187. mask: "99[9]lb\\s",
  188. greedy: false,
  189. skipOptionalPartCharacter: "",
  190. "clearIncomplete": true
  191. }).mask(testmask);
  192. testmask.focus();
  193. $("#testmask").Type("12");
  194. testmask.blur();
  195. assert.equal(testmask.value, "12lbs", "Result " + testmask.value);
  196. });
  197. qunit.test(".inputmask(\"99999[-9999]\", { greedy: false }); - type 123456 backspace iscomplete?", function (assert) {
  198. var $fixture = $("#qunit-fixture");
  199. $fixture.append('<input type="text" id="testmask" />');
  200. var testmask = document.getElementById("testmask");
  201. Inputmask("99999[-9999]", {
  202. greedy: false
  203. }).mask(testmask);
  204. testmask.focus();
  205. $("#testmask").Type("123456");
  206. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  207. assert.equal(testmask.inputmask.isComplete(), true, "Result " + testmask.inputmask.isComplete());
  208. });
  209. qunit.test(".inputmask(\"99999[-9999]\", { greedy: false }); type 123456 backspace blur", function (assert) {
  210. var $fixture = $("#qunit-fixture"), done = assert.async();
  211. $fixture.append('<input type="text" id="testmask" />');
  212. var testmask = document.getElementById("testmask");
  213. Inputmask("99999[-9999]", {
  214. greedy: false
  215. }).mask(testmask);
  216. testmask.focus();
  217. $("#testmask").Type("123456");
  218. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  219. testmask.blur();
  220. setTimeout(function () {
  221. assert.equal($("#testmask")[0].inputmask._valueGet(), "12345", "Result " + $("#testmask")[0].inputmask._valueGet());
  222. done();
  223. }, 0);
  224. });
  225. qunit.test(".inputmask(\"99999[-9999]\", { greedy: false, autoUnmask: true }); type 123456 backspace", function (assert) {
  226. var $fixture = $("#qunit-fixture"), done = assert.async();
  227. $fixture.append('<input type="text" id="testmask" />');
  228. var testmask = document.getElementById("testmask");
  229. Inputmask("99999[-9999]", {
  230. greedy: false,
  231. autoUnmask: true
  232. }).mask(testmask);
  233. testmask.focus();
  234. $("#testmask").Type("123456");
  235. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  236. setTimeout(function () {
  237. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  238. done();
  239. }, 0);
  240. });
  241. qunit.test(".inputmask('999-999-9999[ ext 9{1,5}]'); - type 12345678901 backspace iscomplete? - antch", function (assert) {
  242. var $fixture = $("#qunit-fixture");
  243. $fixture.append('<input type="text" id="testmask" />');
  244. var testmask = document.getElementById("testmask");
  245. Inputmask('999-999-9999[ ext 9{1,5}]').mask(testmask);
  246. testmask.focus();
  247. $("#testmask").Type("12345678901");
  248. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  249. assert.equal(testmask.inputmask.isComplete(), true, "Result " + testmask.inputmask.isComplete());
  250. });
  251. qunit.test("inputmask({ mask: \"9999[ 9999][ 9999]\"}) - input 1234 space space - GMTA", function (assert) {
  252. var $fixture = $("#qunit-fixture");
  253. $fixture.append('<input type="text" id="testmask" />');
  254. var testmask = document.getElementById("testmask");
  255. Inputmask({
  256. mask: "9999[ 9999][ 9999]"
  257. }).mask(testmask);
  258. testmask.focus();
  259. $("#testmask").Type("1234 ");
  260. assert.equal(testmask.value, "1234", "Result " + testmask.value);
  261. });
  262. qunit.test("9999[ 9999][ 9999][ 9999][ 999] - Enfree", function (assert) {
  263. var $fixture = $("#qunit-fixture");
  264. $fixture.append('<input type="text" id="testmask" />');
  265. var testmask = document.getElementById("testmask");
  266. Inputmask({
  267. mask: '9999[ 9999][ 9999][ 9999][ 999]',
  268. placeholder: '', greedy: false
  269. }).mask(testmask);
  270. testmask.focus();
  271. $("#testmask").Type("45464748");
  272. $.caret(testmask, 2);
  273. $("#testmask").Type("0909");
  274. assert.equal(testmask.value, "4509 0946 4748", "Result " + testmask.value);
  275. });
  276. })
  277. ;