tests_multi.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  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. "../dist/inputmask/inputmask.regex.extensions",
  9. "prototypeExtensions",
  10. "simulator"
  11. ], function (qunit, $, Inputmask) {
  12. qunit.module("multi masks");
  13. qunit.test("inputmask({ mask: [\"99-99\", \"999-99\"]}) - input 12345", function (assert) {
  14. var done = assert.async(),
  15. $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. assert.equal(testmask.value, "123-45", "Result " + testmask.value);
  25. done();
  26. }, 0);
  27. });
  28. qunit.test("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12312312312", function (assert) {
  29. var done = assert.async(),
  30. $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. assert.equal(testmask.value, "123.123.123-12", "Result " + testmask.value);
  40. done();
  41. }, 0);
  42. });
  43. qunit.test("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12.123123123412", function (assert) {
  44. var done = assert.async(),
  45. $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. assert.equal(testmask.value, "12.123.123/1234-12", "Result " + testmask.value);
  55. done();
  56. }, 0);
  57. });
  58. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 greedy + blur", function (assert) {
  59. var done = assert.async(),
  60. $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. assert.equal(testmask.inputmask._valueGet(), "12345", "Result " + testmask.inputmask._valueGet());
  71. done();
  72. }, 0);
  73. });
  74. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 not greedy", function (assert) {
  75. var done = assert.async(),
  76. $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. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  88. done();
  89. }, 0);
  90. });
  91. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345-1234", function (assert) {
  92. var done = assert.async(),
  93. $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. assert.equal(testmask.value, "12345-1234", "Result " + testmask.value);
  103. done();
  104. }, 0);
  105. });
  106. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 123451234", function (assert) {
  107. var done = assert.async(),
  108. $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. assert.equal(testmask.value, "12345-1234", "Result " + testmask.value);
  118. done();
  119. }, 0);
  120. });
  121. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 1234512", function (assert) {
  122. var done = assert.async(),
  123. $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. assert.equal(testmask.value, "12345-12__", "Result " + testmask.value);
  133. done();
  134. }, 0);
  135. });
  136. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 1234561234", function (assert) {
  137. var done = assert.async(),
  138. $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. assert.equal(testmask.value, "123456-1234", "Result " + testmask.value);
  148. done();
  149. }, 0);
  150. });
  151. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 12345-6", function (assert) {
  152. var done = assert.async(),
  153. $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. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  163. done();
  164. }, 0);
  165. });
  166. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"], keepStatic: false}) - input 123456", function (assert) {
  167. var done = assert.async(),
  168. $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. assert.equal(testmask.value, "123456-____", "Result " + testmask.value);
  179. done();
  180. }, 0);
  181. });
  182. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"] , keepStatic: true}) - input 123456", function (assert) {
  183. var done = assert.async(),
  184. $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. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  195. done();
  196. }, 0);
  197. });
  198. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 123456 (rtl)", function (assert) {
  199. var done = assert.async(),
  200. $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. assert.equal(testmask.value, "___6-54321", "Result " + testmask.value);
  211. done();
  212. }, 0);
  213. }, 0);
  214. });
  215. qunit.test("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function (assert) {
  216. var done = assert.async(),
  217. $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. assert.equal(testmask.value, "1 ABC-___", "Result " + testmask.value);
  226. done();
  227. }, 0);
  228. });
  229. qunit.test("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function (assert) {
  230. var done = assert.async(),
  231. $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. assert.equal(testmask.value, "A 123-___", "Result " + testmask.value);
  240. done();
  241. }, 0);
  242. });
  243. qunit.test("inputmask({ mask: ['99.9', 'X'}) - annames", function (assert) {
  244. var $fixture = $("#qunit-fixture");
  245. $fixture.append('<input type="text" id="testmask" />');
  246. var testmask = document.getElementById("testmask");
  247. Inputmask({
  248. mask: ["99.9", "X", "abc"],
  249. definitions: {
  250. "X": {
  251. validator: "[xX]",
  252. cardinality: 1,
  253. casing: "upper"
  254. }
  255. }
  256. }).mask(testmask);
  257. $("#testmask").Type("x");
  258. assert.equal(testmask.value, "X", "Result " + testmask.value);
  259. });
  260. qunit.test("inputmask({ mask: [{ \"mask\": \"###-##-####\" }]) - lynxlive", function (assert) {
  261. var $fixture = $("#qunit-fixture");
  262. $fixture.append('<input type="text" id="testmask" />');
  263. var testmask = document.getElementById("testmask");
  264. var ssns = [{
  265. "mask": "###-##-####"
  266. }];
  267. Inputmask({
  268. mask: ssns,
  269. greedy: false,
  270. definitions: {
  271. '#': {
  272. validator: "[0-9]",
  273. cardinality: 1
  274. }
  275. }
  276. }).mask(testmask);
  277. $("#testmask").Type("123121234");
  278. assert.equal(testmask.value, "123-12-1234", "Result " + testmask.value);
  279. });
  280. qunit.test("'[9-]AAA-999', '999999' - type 1A - dekdegiv", function (assert) {
  281. var $fixture = $("#qunit-fixture");
  282. $fixture.append('<input type="text" id="testmask" />');
  283. var testmask = document.getElementById("testmask");
  284. Inputmask({
  285. "mask": ['[9-]AAA-999', '999999'],
  286. keepStatic: false
  287. }).mask(testmask);
  288. $("#testmask").Type("1a");
  289. assert.equal(testmask.value, "1-A__-___", "Result " + testmask.value);
  290. });
  291. qunit.test("(99 99 999999)|(*{+}) - 12abc - dekdegiv", function (assert) {
  292. var $fixture = $("#qunit-fixture");
  293. $fixture.append('<input type="text" id="testmask" />');
  294. var testmask = document.getElementById("testmask");
  295. Inputmask("(99 99 999999)|(*{+})").mask(testmask);
  296. $("#testmask").Type("12abc");
  297. assert.equal(testmask.value, "12abc", "Result " + testmask.value);
  298. });
  299. qunit.test("(99 99 999999)|(*{+}) - 12 34 delete ' 34' + 2abc", function (assert) {
  300. var $fixture = $("#qunit-fixture");
  301. $fixture.append('<input type="text" id="testmask" />');
  302. var testmask = document.getElementById("testmask");
  303. Inputmask("(99 99 999999)|(*{+})").mask(testmask);
  304. $("#testmask").Type("12 34");
  305. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  306. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  307. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  308. $("#testmask").Type("2abc");
  309. assert.equal(testmask.value, "122abc", "Result " + testmask.value);
  310. });
  311. qunit.test("(99 99 999999)|(i{+}) - 12 3abc - dekdegiv", function (assert) {
  312. var $fixture = $("#qunit-fixture");
  313. $fixture.append('<input type="text" id="testmask" />');
  314. var testmask = document.getElementById("testmask");
  315. Inputmask("(99 99 999999)|(*{+})", {
  316. definitions: {
  317. "*": {
  318. validator: ".",
  319. cardinality: 1,
  320. definitionSymbol: "*"
  321. }
  322. },
  323. staticDefinitionSymbol: "*"
  324. }).mask(testmask);
  325. $("#testmask").Type("12 3abc");
  326. assert.equal(testmask.value, "12 3abc", "Result " + testmask.value);
  327. });
  328. qunit.test("[\"(99) 9999-9999\",\"(99) 99999-9999\"] - 12123451234 - click front - asyncerror", function (assert) {
  329. var $fixture = $("#qunit-fixture");
  330. $fixture.append('<input type="text" id="testmask" />');
  331. var testmask = document.getElementById("testmask");
  332. Inputmask(["(99) 9999-9999", "(99) 99999-9999"]).mask(testmask);
  333. $("#testmask").Type("12123451234");
  334. $.caret(testmask, 0);
  335. testmask.focus();
  336. $("#testmask").trigger("click");
  337. assert.equal(testmask.value, "(12) 12345-1234", "Result " + testmask.value);
  338. });
  339. qunit.test("[\"+7(999)999-99-99\",\"+380(99)999-99-99\",\"+375(99)999-99-99\"] - andychups", function (assert) {
  340. var done = assert.async(),
  341. $fixture = $("#qunit-fixture");
  342. $fixture.append('<input type="text" id="testmask" />');
  343. var testmask = document.getElementById("testmask");
  344. Inputmask(["+7(999)999-99-99", "+380(99)999-99-99", "+375(99)999-99-99"], {
  345. keepStatic: false
  346. }).mask(testmask);
  347. $("#testmask").Type("3");
  348. setTimeout(function () {
  349. assert.equal(testmask.inputmask._valueGet(), "+3__(__)___-__-__", "Result " + testmask.inputmask._valueGet());
  350. done();
  351. }, 0);
  352. });
  353. qunit.test("[\"+7(999)999-99-99\",\"+380(99)999-99-99\",\"+375(99)999-99-99\"] - andychups", function (assert) {
  354. var $fixture = $("#qunit-fixture");
  355. $fixture.append('<input type="text" id="testmask" />');
  356. var testmask = document.getElementById("testmask");
  357. Inputmask(["+7(999)999-99-99", "+380(99)999-99-99", "+375(99)999-99-99"], {
  358. keepStatic: false
  359. }).mask(testmask);
  360. testmask.focus();
  361. $("#testmask").trigger("click");
  362. assert.equal(testmask.inputmask._valueGet(), "+_(___)___-__-__", "Result " + testmask.inputmask._valueGet());
  363. });
  364. });