tests_multi.js 14 KB

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