tests_multi.js 13 KB

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