tests_multi.js 8.8 KB

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