tests_optional.js 10 KB

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