tests_multi.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  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. qunit.test("inputmask({ mask: [\"99-99\", \"999-99\"]}) - input 12345", function(assert) {
  15. var done = assert.async(),
  16. $fixture = $("#qunit-fixture");
  17. $fixture.append('<input type="text" id="testmask" />');
  18. var testmask = document.getElementById("testmask");
  19. Inputmask({
  20. mask: ["99-99", "999-99"]
  21. }).mask(testmask);
  22. testmask.focus();
  23. $("#testmask").Type("12345");
  24. setTimeout(function() {
  25. assert.equal(testmask.value, "123-45", "Result " + testmask.value);
  26. done();
  27. }, 0);
  28. });
  29. qunit.test("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12312312312", function(assert) {
  30. var done = assert.async(),
  31. $fixture = $("#qunit-fixture");
  32. $fixture.append('<input type="text" id="testmask" />');
  33. var testmask = document.getElementById("testmask");
  34. Inputmask({
  35. mask: ["999.999.999-99", "99.999.999/9999-99"]
  36. }).mask(testmask);
  37. testmask.focus();
  38. $("#testmask").Type("12312312312");
  39. setTimeout(function() {
  40. assert.equal(testmask.value, "123.123.123-12", "Result " + testmask.value);
  41. done();
  42. }, 0);
  43. });
  44. qunit.test("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12.123123123412", function(assert) {
  45. var done = assert.async(),
  46. $fixture = $("#qunit-fixture");
  47. $fixture.append('<input type="text" id="testmask" />');
  48. var testmask = document.getElementById("testmask");
  49. Inputmask({
  50. mask: ["999.999.999-99", "99.999.999/9999-99"]
  51. }).mask(testmask);
  52. testmask.focus();
  53. $("#testmask").Type("12.123123123412");
  54. setTimeout(function() {
  55. assert.equal(testmask.value, "12.123.123/1234-12", "Result " + testmask.value);
  56. done();
  57. }, 0);
  58. });
  59. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 greedy + blur", function(assert) {
  60. var done = assert.async(),
  61. $fixture = $("#qunit-fixture");
  62. $fixture.append('<input type="text" id="testmask" />');
  63. var testmask = document.getElementById("testmask");
  64. Inputmask({
  65. mask: ["99999", "99999-9999"]
  66. }).mask(testmask);
  67. testmask.focus();
  68. $("#testmask").Type("12345");
  69. testmask.blur();
  70. setTimeout(function() {
  71. assert.equal(testmask.inputmask._valueGet(), "12345", "Result " + testmask.inputmask._valueGet());
  72. done();
  73. }, 0);
  74. });
  75. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 not greedy", function(assert) {
  76. var done = assert.async(),
  77. $fixture = $("#qunit-fixture");
  78. $fixture.append('<input type="text" id="testmask" />');
  79. var testmask = document.getElementById("testmask");
  80. Inputmask({
  81. mask: ["99999", "99999-9999"],
  82. greedy: false,
  83. keepStatic: true
  84. }).mask(testmask);
  85. testmask.focus();
  86. $("#testmask").Type("12345");
  87. setTimeout(function() {
  88. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  89. done();
  90. }, 0);
  91. });
  92. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345-1234", function(assert) {
  93. var done = assert.async(),
  94. $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. var testmask = document.getElementById("testmask");
  97. Inputmask({
  98. mask: ["99999", "99999-9999"]
  99. }).mask(testmask);
  100. testmask.focus();
  101. $("#testmask").Type("12345-1234");
  102. setTimeout(function() {
  103. assert.equal(testmask.value, "12345-1234", "Result " + testmask.value);
  104. done();
  105. }, 0);
  106. });
  107. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 123451234", function(assert) {
  108. var done = assert.async(),
  109. $fixture = $("#qunit-fixture");
  110. $fixture.append('<input type="text" id="testmask" />');
  111. var testmask = document.getElementById("testmask");
  112. Inputmask({
  113. mask: ["99999", "99999-9999"]
  114. }).mask(testmask);
  115. testmask.focus();
  116. $("#testmask").Type("123451234");
  117. setTimeout(function() {
  118. assert.equal(testmask.value, "12345-1234", "Result " + testmask.value);
  119. done();
  120. }, 0);
  121. });
  122. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 1234512", function(assert) {
  123. var done = assert.async(),
  124. $fixture = $("#qunit-fixture");
  125. $fixture.append('<input type="text" id="testmask" />');
  126. var testmask = document.getElementById("testmask");
  127. Inputmask({
  128. mask: ["99999", "99999-9999"]
  129. }).mask(testmask);
  130. testmask.focus();
  131. $("#testmask").Type("1234512");
  132. setTimeout(function() {
  133. assert.equal(testmask.value, "12345-12__", "Result " + testmask.value);
  134. done();
  135. }, 0);
  136. });
  137. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 1234561234", function(assert) {
  138. var done = assert.async(),
  139. $fixture = $("#qunit-fixture");
  140. $fixture.append('<input type="text" id="testmask" />');
  141. var testmask = document.getElementById("testmask");
  142. Inputmask({
  143. mask: ["99999", "99999-9999", "999999-9999"]
  144. }).mask(testmask);
  145. testmask.focus();
  146. $("#testmask").Type("1234561234");
  147. setTimeout(function() {
  148. assert.equal(testmask.value, "123456-1234", "Result " + testmask.value);
  149. done();
  150. }, 0);
  151. });
  152. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 12345-6", function(assert) {
  153. var done = assert.async(),
  154. $fixture = $("#qunit-fixture");
  155. $fixture.append('<input type="text" id="testmask" />');
  156. var testmask = document.getElementById("testmask");
  157. Inputmask({
  158. mask: ["99999", "99999-9999", "999999-9999"]
  159. }).mask(testmask);
  160. testmask.focus();
  161. $("#testmask").Type("12345-6");
  162. setTimeout(function() {
  163. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  164. done();
  165. }, 0);
  166. });
  167. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"], keepStatic: false}) - input 123456", function(assert) {
  168. var done = assert.async(),
  169. $fixture = $("#qunit-fixture");
  170. $fixture.append('<input type="text" id="testmask" />');
  171. var testmask = document.getElementById("testmask");
  172. Inputmask({
  173. mask: ["99999", "99999-9999", "999999-9999"],
  174. keepStatic: false
  175. }).mask(testmask);
  176. testmask.focus();
  177. $("#testmask").Type("123456");
  178. setTimeout(function() {
  179. assert.equal(testmask.value, "123456-____", "Result " + testmask.value);
  180. done();
  181. }, 0);
  182. });
  183. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"] , keepStatic: true}) - input 123456", function(assert) {
  184. var done = assert.async(),
  185. $fixture = $("#qunit-fixture");
  186. $fixture.append('<input type="text" id="testmask" />');
  187. var testmask = document.getElementById("testmask");
  188. Inputmask({
  189. mask: ["99999", "99999-9999", "999999-9999"],
  190. keepStatic: true
  191. }).mask(testmask);
  192. testmask.focus();
  193. $("#testmask").Type("123456");
  194. setTimeout(function() {
  195. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  196. done();
  197. }, 0);
  198. });
  199. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 123456 (rtl)", function(assert) {
  200. var done = assert.async(),
  201. $fixture = $("#qunit-fixture");
  202. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  203. var testmask = document.getElementById("testmask");
  204. Inputmask({
  205. mask: ["99999", "99999-9999", "999999-9999"]
  206. }).mask(testmask);
  207. testmask.focus();
  208. setTimeout(function() { //needed to pass on ie
  209. $("#testmask").Type("123456");
  210. setTimeout(function() {
  211. assert.equal(testmask.value, "___6-54321", "Result " + testmask.value);
  212. done();
  213. }, 0);
  214. }, 0);
  215. });
  216. qunit.test("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function(assert) {
  217. var done = assert.async(),
  218. $fixture = $("#qunit-fixture");
  219. $fixture.append('<input type="text" id="testmask" />');
  220. var testmask = document.getElementById("testmask");
  221. Inputmask({
  222. mask: ['9 AAA-AAA', 'A 999-999']
  223. }).mask(testmask);
  224. $("#testmask").Type("1abc");
  225. setTimeout(function() {
  226. assert.equal(testmask.value, "1 ABC-___", "Result " + testmask.value);
  227. done();
  228. }, 0);
  229. });
  230. qunit.test("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function(assert) {
  231. var done = assert.async(),
  232. $fixture = $("#qunit-fixture");
  233. $fixture.append('<input type="text" id="testmask" />');
  234. var testmask = document.getElementById("testmask");
  235. Inputmask({
  236. mask: ['9 AAA-AAA', 'A 999-999']
  237. }).mask(testmask);
  238. $("#testmask").Type("a123");
  239. setTimeout(function() {
  240. assert.equal(testmask.value, "A 123-___", "Result " + testmask.value);
  241. done();
  242. }, 0);
  243. });
  244. qunit.test("inputmask({ mask: ['99.9', 'X'}) - annames", function(assert) {
  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. assert.equal(testmask.value, "X", "Result " + testmask.value);
  260. });
  261. qunit.test("inputmask({ mask: [{ \"mask\": \"###-##-####\" }]) - lynxlive", function(assert) {
  262. var $fixture = $("#qunit-fixture");
  263. $fixture.append('<input type="text" id="testmask" />');
  264. var testmask = document.getElementById("testmask");
  265. var ssns = [{
  266. "mask": "###-##-####"
  267. }];
  268. Inputmask({
  269. mask: ssns,
  270. greedy: false,
  271. definitions: {
  272. '#': {
  273. validator: "[0-9]",
  274. cardinality: 1
  275. }
  276. }
  277. }).mask(testmask);
  278. $("#testmask").Type("123121234");
  279. assert.equal(testmask.value, "123-12-1234", "Result " + testmask.value);
  280. });
  281. qunit.test("'[9-]AAA-999', '999999' - type 1A - dekdegiv", function(assert) {
  282. var $fixture = $("#qunit-fixture");
  283. $fixture.append('<input type="text" id="testmask" />');
  284. var testmask = document.getElementById("testmask");
  285. Inputmask({
  286. "mask": ['[9-]AAA-999', '999999'],
  287. keepStatic: false
  288. }).mask(testmask);
  289. $("#testmask").Type("1a");
  290. assert.equal(testmask.value, "1-A__-___", "Result " + testmask.value);
  291. });
  292. qunit.test("(99 99 999999)|(*{+}) - 12abc - dekdegiv", function(assert) {
  293. var $fixture = $("#qunit-fixture");
  294. $fixture.append('<input type="text" id="testmask" />');
  295. var testmask = document.getElementById("testmask");
  296. Inputmask("(99 99 999999)|(*{+})").mask(testmask);
  297. $("#testmask").Type("12abc");
  298. assert.equal(testmask.value, "12abc", "Result " + testmask.value);
  299. });
  300. qunit.test("(99 99 999999)|(*{+}) - 12 34 delete ' 34' + 2abc", function(assert) {
  301. var $fixture = $("#qunit-fixture");
  302. $fixture.append('<input type="text" id="testmask" />');
  303. var testmask = document.getElementById("testmask");
  304. Inputmask("(99 99 999999)|(*{+})").mask(testmask);
  305. $("#testmask").Type("12 34");
  306. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  307. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  308. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  309. $("#testmask").Type("2abc");
  310. assert.equal(testmask.value, "12abc", "Result " + testmask.value);
  311. });
  312. qunit.test("(99 99 999999)|(i{+}) - 12 3abc - dekdegiv", function(assert) {
  313. var $fixture = $("#qunit-fixture");
  314. $fixture.append('<input type="text" id="testmask" />');
  315. var testmask = document.getElementById("testmask");
  316. Inputmask("(99 99 999999)|(i{+})", {
  317. definitions: {
  318. "i": {
  319. validator: ".",
  320. cardinality: 1,
  321. definitionSymbol: "*"
  322. }
  323. },
  324. staticDefinitionSymbol: "*"
  325. }).mask(testmask);
  326. $("#testmask").Type("12 3abc");
  327. assert.equal(testmask.value, "12 3abc", "Result " + testmask.value);
  328. });
  329. qunit.test("[\"(99) 9999-9999\",\"(99) 99999-9999\"] - 12123451234 - click front - asyncerror", function(assert) {
  330. var $fixture = $("#qunit-fixture");
  331. $fixture.append('<input type="text" id="testmask" />');
  332. var testmask = document.getElementById("testmask");
  333. Inputmask(["(99) 9999-9999", "(99) 99999-9999"]).mask(testmask);
  334. $("#testmask").Type("12123451234");
  335. $.caret(testmask, 0);
  336. testmask.focus();
  337. $("#testmask").trigger("click");
  338. assert.equal(testmask.value, "(12) 12345-1234", "Result " + testmask.value);
  339. });
  340. qunit.test("[\"+7(999)999-99-99\",\"+380(99)999-99-99\",\"+375(99)999-99-99\"] - andychups", function(assert) {
  341. var done = assert.async(),
  342. $fixture = $("#qunit-fixture");
  343. $fixture.append('<input type="text" id="testmask" />');
  344. var testmask = document.getElementById("testmask");
  345. Inputmask(["+7(999)999-99-99", "+380(99)999-99-99", "+375(99)999-99-99"], {
  346. keepStatic: false
  347. }).mask(testmask);
  348. $("#testmask").Type("3");
  349. setTimeout(function() {
  350. assert.equal(testmask.inputmask._valueGet(), "+3__(__)___-__-__", "Result " + testmask.inputmask._valueGet());
  351. done();
  352. }, 0);
  353. });
  354. });