tests_multi.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  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("multi masks");
  14. asyncTest("inputmask({ mask: [\"99-99\", \"999-99\"]}) - input 12345", function() {
  15. var $fixture = $("#qunit-fixture");
  16. $fixture.append('<input type="text" id="testmask" />');
  17. var testmask = document.getElementById("testmask");
  18. Inputmask({
  19. mask: ["99-99", "999-99"]
  20. }).mask(testmask);
  21. testmask.focus();
  22. $("#testmask").Type("12345");
  23. setTimeout(function() {
  24. equal(testmask.value, "123-45", "Result " + testmask.value);
  25. start();
  26. $("#testmask").remove();
  27. }, 0);
  28. });
  29. asyncTest("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12312312312", function() {
  30. var $fixture = $("#qunit-fixture");
  31. $fixture.append('<input type="text" id="testmask" />');
  32. var testmask = document.getElementById("testmask");
  33. Inputmask({
  34. mask: ["999.999.999-99", "99.999.999/9999-99"]
  35. }).mask(testmask);
  36. testmask.focus();
  37. $("#testmask").Type("12312312312");
  38. setTimeout(function() {
  39. equal(testmask.value, "123.123.123-12", "Result " + testmask.value);
  40. start();
  41. $("#testmask").remove();
  42. }, 0);
  43. });
  44. asyncTest("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12.123123123412", function() {
  45. var $fixture = $("#qunit-fixture");
  46. $fixture.append('<input type="text" id="testmask" />');
  47. var testmask = document.getElementById("testmask");
  48. Inputmask({
  49. mask: ["999.999.999-99", "99.999.999/9999-99"]
  50. }).mask(testmask);
  51. testmask.focus();
  52. $("#testmask").Type("12.123123123412");
  53. setTimeout(function() {
  54. equal(testmask.value, "12.123.123/1234-12", "Result " + testmask.value);
  55. start();
  56. $("#testmask").remove();
  57. }, 0);
  58. });
  59. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 greedy + blur", function() {
  60. var $fixture = $("#qunit-fixture");
  61. $fixture.append('<input type="text" id="testmask" />');
  62. var testmask = document.getElementById("testmask");
  63. Inputmask({
  64. mask: ["99999", "99999-9999"]
  65. }).mask(testmask);
  66. testmask.focus();
  67. $("#testmask").Type("12345");
  68. testmask.blur();
  69. setTimeout(function() {
  70. equal(testmask.value, "12345", "Result " + testmask.value);
  71. start();
  72. $("#testmask").remove();
  73. }, 0);
  74. });
  75. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 not greedy", function() {
  76. var $fixture = $("#qunit-fixture");
  77. $fixture.append('<input type="text" id="testmask" />');
  78. var testmask = document.getElementById("testmask");
  79. Inputmask({
  80. mask: ["99999", "99999-9999"],
  81. greedy: false,
  82. keepStatic: true
  83. }).mask(testmask);
  84. testmask.focus();
  85. $("#testmask").Type("12345");
  86. setTimeout(function() {
  87. equal(testmask.value, "12345", "Result " + testmask.value);
  88. start();
  89. $("#testmask").remove();
  90. }, 0);
  91. });
  92. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345-1234", function() {
  93. var $fixture = $("#qunit-fixture");
  94. $fixture.append('<input type="text" id="testmask" />');
  95. var testmask = document.getElementById("testmask");
  96. Inputmask({
  97. mask: ["99999", "99999-9999"]
  98. }).mask(testmask);
  99. testmask.focus();
  100. $("#testmask").Type("12345-1234");
  101. setTimeout(function() {
  102. equal(testmask.value, "12345-1234", "Result " + testmask.value);
  103. start();
  104. $("#testmask").remove();
  105. }, 0);
  106. });
  107. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 123451234", function() {
  108. var $fixture = $("#qunit-fixture");
  109. $fixture.append('<input type="text" id="testmask" />');
  110. var testmask = document.getElementById("testmask");
  111. Inputmask({
  112. mask: ["99999", "99999-9999"]
  113. }).mask(testmask);
  114. testmask.focus();
  115. $("#testmask").Type("123451234");
  116. setTimeout(function() {
  117. equal(testmask.value, "12345-1234", "Result " + testmask.value);
  118. start();
  119. $("#testmask").remove();
  120. }, 0);
  121. });
  122. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 1234512", function() {
  123. var $fixture = $("#qunit-fixture");
  124. $fixture.append('<input type="text" id="testmask" />');
  125. var testmask = document.getElementById("testmask");
  126. Inputmask({
  127. mask: ["99999", "99999-9999"]
  128. }).mask(testmask);
  129. testmask.focus();
  130. $("#testmask").Type("1234512");
  131. setTimeout(function() {
  132. equal(testmask.value, "12345-12__", "Result " + testmask.value);
  133. start();
  134. $("#testmask").remove();
  135. }, 0);
  136. });
  137. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 1234561234", function() {
  138. var $fixture = $("#qunit-fixture");
  139. $fixture.append('<input type="text" id="testmask" />');
  140. var testmask = document.getElementById("testmask");
  141. Inputmask({
  142. mask: ["99999", "99999-9999", "999999-9999"]
  143. }).mask(testmask);
  144. testmask.focus();
  145. $("#testmask").Type("1234561234");
  146. setTimeout(function() {
  147. equal(testmask.value, "123456-1234", "Result " + testmask.value);
  148. start();
  149. $("#testmask").remove();
  150. }, 0);
  151. });
  152. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 12345-6", function() {
  153. var $fixture = $("#qunit-fixture");
  154. $fixture.append('<input type="text" id="testmask" />');
  155. var testmask = document.getElementById("testmask");
  156. Inputmask({
  157. mask: ["99999", "99999-9999", "999999-9999"]
  158. }).mask(testmask);
  159. testmask.focus();
  160. $("#testmask").Type("12345-6");
  161. setTimeout(function() {
  162. equal(testmask.value, "12345-6___", "Result " + testmask.value);
  163. start();
  164. $("#testmask").remove();
  165. }, 0);
  166. });
  167. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"], keepStatic: false}) - input 123456", function() {
  168. var $fixture = $("#qunit-fixture");
  169. $fixture.append('<input type="text" id="testmask" />');
  170. var testmask = document.getElementById("testmask");
  171. Inputmask({
  172. mask: ["99999", "99999-9999", "999999-9999"],
  173. keepStatic: false
  174. }).mask(testmask);
  175. testmask.focus();
  176. $("#testmask").Type("123456");
  177. setTimeout(function() {
  178. equal(testmask.value, "123456-____", "Result " + testmask.value);
  179. start();
  180. $("#testmask").remove();
  181. }, 0);
  182. });
  183. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"] , keepStatic: true}) - input 123456", function() {
  184. var $fixture = $("#qunit-fixture");
  185. $fixture.append('<input type="text" id="testmask" />');
  186. var testmask = document.getElementById("testmask");
  187. Inputmask({
  188. mask: ["99999", "99999-9999", "999999-9999"],
  189. keepStatic: true
  190. }).mask(testmask);
  191. testmask.focus();
  192. $("#testmask").Type("123456");
  193. setTimeout(function() {
  194. equal(testmask.value, "12345-6___", "Result " + testmask.value);
  195. start();
  196. $("#testmask").remove();
  197. }, 0);
  198. });
  199. asyncTest("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 123456 (rtl)", function() {
  200. var $fixture = $("#qunit-fixture");
  201. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  202. var testmask = document.getElementById("testmask");
  203. Inputmask({
  204. mask: ["99999", "99999-9999", "999999-9999"]
  205. }).mask(testmask);
  206. testmask.focus();
  207. setTimeout(function() { //needed to pass on ie
  208. $("#testmask").Type("123456");
  209. setTimeout(function() {
  210. start();
  211. equal(testmask.value, "___6-54321", "Result " + testmask.value);
  212. $("#testmask").remove();
  213. }, 0);
  214. }, 0);
  215. });
  216. asyncTest("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function() {
  217. var $fixture = $("#qunit-fixture");
  218. $fixture.append('<input type="text" id="testmask" />');
  219. var testmask = document.getElementById("testmask");
  220. Inputmask({
  221. mask: ['9 AAA-AAA', 'A 999-999']
  222. }).mask(testmask);
  223. $("#testmask").Type("1abc");
  224. setTimeout(function() {
  225. equal(testmask.value, "1 ABC-___", "Result " + testmask.value);
  226. start();
  227. $("#testmask").remove();
  228. }, 0);
  229. });
  230. asyncTest("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function() {
  231. var $fixture = $("#qunit-fixture");
  232. $fixture.append('<input type="text" id="testmask" />');
  233. var testmask = document.getElementById("testmask");
  234. Inputmask({
  235. mask: ['9 AAA-AAA', 'A 999-999']
  236. }).mask(testmask);
  237. $("#testmask").Type("a123");
  238. setTimeout(function() {
  239. equal(testmask.value, "A 123-___", "Result " + testmask.value);
  240. start();
  241. $("#testmask").remove();
  242. }, 0);
  243. });
  244. test("inputmask({ mask: ['99.9', 'X'}) - annames", function() {
  245. var $fixture = $("#qunit-fixture");
  246. $fixture.append('<input type="text" id="testmask" />');
  247. var testmask = document.getElementById("testmask");
  248. Inputmask({
  249. mask: ["99.9", "X", "abc"],
  250. definitions: {
  251. "X": {
  252. validator: "[xX]",
  253. cardinality: 1,
  254. casing: "upper"
  255. }
  256. }
  257. }).mask(testmask);
  258. $("#testmask").Type("x");
  259. equal(testmask.value, "X", "Result " + testmask.value);
  260. $("#testmask").remove();
  261. });
  262. test("inputmask({ mask: [{ \"mask\": \"###-##-####\" }]) - lynxlive", function() {
  263. var $fixture = $("#qunit-fixture");
  264. $fixture.append('<input type="text" id="testmask" />');
  265. var testmask = document.getElementById("testmask");
  266. var ssns = [{
  267. "mask": "###-##-####"
  268. }];
  269. Inputmask({
  270. mask: ssns,
  271. greedy: false,
  272. definitions: {
  273. '#': {
  274. validator: "[0-9]",
  275. cardinality: 1
  276. }
  277. }
  278. }).mask(testmask);
  279. $("#testmask").Type("123121234");
  280. equal(testmask.value, "123-12-1234", "Result " + testmask.value);
  281. $("#testmask").remove();
  282. });
  283. });