tests_optional.js 11 KB

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