tests_alternations.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783
  1. import { keys } from "../lib/keycode";
  2. export default function (qunit, Inputmask) {
  3. var $ = Inputmask.dependencyLib;
  4. qunit.module("Alternations");
  5. qunit.test('"9{1,2}C|S A{1,3} 9{4}" - ankitajain32', function (assert) {
  6. var $fixture = $("#qunit-fixture");
  7. $fixture.append('<input type="text" id="testmask" />');
  8. var testmask = document.getElementById("testmask");
  9. Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
  10. $("#testmask").Type("12Cabc1234");
  11. assert.equal(
  12. testmask.inputmask._valueGet(),
  13. "12C ABC 1234",
  14. "Result " + testmask.inputmask._valueGet()
  15. );
  16. });
  17. qunit.test(
  18. '"9{1,2}C|S A{1,3} 9{4}" replace C with S - ankitajain32',
  19. function (assert) {
  20. var $fixture = $("#qunit-fixture");
  21. $fixture.append('<input type="text" id="testmask" />');
  22. var testmask = document.getElementById("testmask");
  23. Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
  24. $("#testmask").Type("12Cabc1234");
  25. $.caret(testmask, 2, 3);
  26. $("#testmask").Type("S");
  27. assert.equal(
  28. testmask.inputmask._valueGet(),
  29. "12S ABC 1234",
  30. "Result " + testmask.inputmask._valueGet()
  31. );
  32. }
  33. );
  34. qunit.test("nested alternations 1", function (assert) {
  35. var $fixture = $("#qunit-fixture");
  36. $fixture.append('<input type="text" id="testmask" />');
  37. var testmask = document.getElementById("testmask");
  38. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  39. groupmarker: ["<", ">"]
  40. }).mask(testmask);
  41. $("#testmask").Type("02121212");
  42. assert.equal(
  43. testmask.inputmask._valueGet(),
  44. "02)12-12-12",
  45. "Result " + testmask.inputmask._valueGet()
  46. );
  47. });
  48. qunit.test("nested alternations 2", function (assert) {
  49. var $fixture = $("#qunit-fixture");
  50. $fixture.append('<input type="text" id="testmask" />');
  51. var testmask = document.getElementById("testmask");
  52. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  53. groupmarker: ["<", ">"]
  54. }).mask(testmask);
  55. $("#testmask").Type("03411212");
  56. assert.equal(
  57. testmask.inputmask._valueGet(),
  58. "034)1-12-12",
  59. "Result " + testmask.inputmask._valueGet()
  60. );
  61. });
  62. qunit.test("nested alternations 3", function (assert) {
  63. var $fixture = $("#qunit-fixture");
  64. $fixture.append('<input type="text" id="testmask" />');
  65. var testmask = document.getElementById("testmask");
  66. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  67. groupmarker: ["<", ">"]
  68. }).mask(testmask);
  69. $("#testmask").Type("03511212");
  70. assert.equal(
  71. testmask.inputmask._valueGet(),
  72. "035)1-12-12",
  73. "Result " + testmask.inputmask._valueGet()
  74. );
  75. });
  76. qunit.test("nested alternations 4", function (assert) {
  77. var $fixture = $("#qunit-fixture");
  78. $fixture.append('<input type="text" id="testmask" />');
  79. var testmask = document.getElementById("testmask");
  80. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  81. groupmarker: ["<", ">"]
  82. }).mask(testmask);
  83. $("#testmask").Type("03611212");
  84. assert.equal(
  85. testmask.inputmask._valueGet(),
  86. "036)1-12-12",
  87. "Result " + testmask.inputmask._valueGet()
  88. );
  89. });
  90. qunit.test("alternations W|XY|Z", function (assert) {
  91. var $fixture = $("#qunit-fixture");
  92. $fixture.append('<input type="text" id="testmask" />');
  93. var testmask = document.getElementById("testmask");
  94. Inputmask("W|XY|Z").mask(testmask);
  95. $("#testmask").Type("WZ");
  96. assert.equal(
  97. testmask.inputmask._valueGet(),
  98. "WZ",
  99. "Result " + testmask.inputmask._valueGet()
  100. );
  101. });
  102. qunit.test("alternations (W)|(X)(Y)|(Z)", function (assert) {
  103. var $fixture = $("#qunit-fixture");
  104. $fixture.append('<input type="text" id="testmask" />');
  105. var testmask = document.getElementById("testmask");
  106. Inputmask("(W)|(X)(Y)|(Z)").mask(testmask);
  107. $("#testmask").Type("WZ");
  108. assert.equal(
  109. testmask.inputmask._valueGet(),
  110. "WZ",
  111. "Result " + testmask.inputmask._valueGet()
  112. );
  113. });
  114. qunit.test(
  115. "alternations (9{1,3}|SE|NE|SW|NW)-9{1,3} - yesman85",
  116. function (assert) {
  117. var $fixture = $("#qunit-fixture");
  118. $fixture.append('<input type="text" id="testmask" />');
  119. var testmask = document.getElementById("testmask");
  120. Inputmask("(9{1,3}|SE|NE|SW|NW)-9{1,3}").mask(testmask);
  121. $("#testmask").Type("(NE123");
  122. assert.equal(
  123. testmask.inputmask._valueGet(),
  124. "NE-123",
  125. "Result " + testmask.inputmask._valueGet()
  126. );
  127. }
  128. );
  129. qunit.test("((S))", function (assert) {
  130. var done = assert.async(),
  131. $fixture = $("#qunit-fixture");
  132. $fixture.append('<input type="text" id="testmask" />');
  133. var testmask = document.getElementById("testmask");
  134. Inputmask("((S))").mask(testmask);
  135. testmask.focus();
  136. setTimeout(function () {
  137. assert.equal(
  138. testmask.inputmask._valueGet(),
  139. "((S))",
  140. "Result " + testmask.inputmask._valueGet()
  141. );
  142. done();
  143. }, 0);
  144. });
  145. qunit.test("((S)", function (assert) {
  146. var done = assert.async(),
  147. $fixture = $("#qunit-fixture");
  148. $fixture.append('<input type="text" id="testmask" />');
  149. var testmask = document.getElementById("testmask");
  150. Inputmask("((S)").mask(testmask);
  151. testmask.focus();
  152. setTimeout(function () {
  153. assert.equal(
  154. testmask.inputmask._valueGet(),
  155. "((S)",
  156. "Result " + testmask.inputmask._valueGet()
  157. );
  158. done();
  159. }, 0);
  160. });
  161. qunit.test("+371-99-999-999 - artemkaint", function (assert) {
  162. var done = assert.async(),
  163. $fixture = $("#qunit-fixture");
  164. $fixture.append('<input type="text" id="testmask" />');
  165. var testmask = document.getElementById("testmask");
  166. Inputmask(
  167. [
  168. "+371-99-999-999",
  169. "+370(999)99-999",
  170. "+375(99)999-99-99",
  171. "+374-99-999-999",
  172. "+380(99)999-99-99",
  173. "+358(999)999-99-99",
  174. "+373-9999-9999",
  175. "+381-99-999-9999"
  176. ],
  177. {
  178. keepStatic: false
  179. }
  180. ).mask(testmask);
  181. testmask.focus();
  182. setTimeout(function () {
  183. $("#testmask").Type("7112123123");
  184. assert.equal(
  185. testmask.inputmask._valueGet(),
  186. "+371-12-123-123",
  187. "Result " + testmask.inputmask._valueGet()
  188. );
  189. done();
  190. }, 0);
  191. });
  192. qunit.test("+374-99-999-999 - artemkaint", function (assert) {
  193. var done = assert.async(),
  194. $fixture = $("#qunit-fixture");
  195. $fixture.append('<input type="text" id="testmask" />');
  196. var testmask = document.getElementById("testmask");
  197. Inputmask(
  198. [
  199. "+371-99-999-999",
  200. "+370(999)99-999",
  201. "+375(99)999-99-99",
  202. "+374-99-999-999",
  203. "+380(99)999-99-99",
  204. "+358(999)999-99-99",
  205. "+373-9999-9999",
  206. "+381-99-999-9999"
  207. ],
  208. {
  209. keepStatic: false
  210. }
  211. ).mask(testmask);
  212. testmask.focus();
  213. setTimeout(function () {
  214. $("#testmask").Type("7412123123");
  215. assert.equal(
  216. testmask.inputmask._valueGet(),
  217. "+374-12-123-123",
  218. "Result " + testmask.inputmask._valueGet()
  219. );
  220. done();
  221. }, 0);
  222. });
  223. qunit.test("+358(999)999-99-99, - artemkaint", function (assert) {
  224. var done = assert.async(),
  225. $fixture = $("#qunit-fixture");
  226. $fixture.append('<input type="text" id="testmask" />');
  227. var testmask = document.getElementById("testmask");
  228. Inputmask(
  229. [
  230. "+371-99-999-999",
  231. "+370(999)99-999",
  232. "+375(99)999-99-99",
  233. "+374-99-999-999",
  234. "+380(99)999-99-99",
  235. "+358(999)999-99-99",
  236. "+373-9999-9999",
  237. "+381-99-999-9999"
  238. ],
  239. {
  240. keepStatic: false
  241. }
  242. ).mask(testmask);
  243. testmask.focus();
  244. setTimeout(function () {
  245. $("#testmask").Type("51231231212");
  246. assert.equal(
  247. testmask.inputmask._valueGet(),
  248. "+358(123)123-12-12",
  249. "Result " + testmask.inputmask._valueGet()
  250. );
  251. done();
  252. }, 0);
  253. });
  254. qunit.test("(9)|(a9) - type 1 - ivaninDarpatov", function (assert) {
  255. var $fixture = $("#qunit-fixture");
  256. $fixture.append('<input type="text" id="testmask" />');
  257. var testmask = document.getElementById("testmask");
  258. Inputmask("(9)|(a9)").mask(testmask);
  259. testmask.focus();
  260. $("#testmask").Type("12");
  261. assert.equal(
  262. testmask.inputmask._valueGet(),
  263. "1",
  264. "Result " + testmask.inputmask._valueGet()
  265. );
  266. });
  267. qunit.test("(9)|(a9) - type a1 - ivaninDarpatov", function (assert) {
  268. var $fixture = $("#qunit-fixture");
  269. $fixture.append('<input type="text" id="testmask" />');
  270. var testmask = document.getElementById("testmask");
  271. Inputmask("(9)|(a9)").mask(testmask);
  272. testmask.focus();
  273. $("#testmask").Type("a1");
  274. assert.equal(
  275. testmask.inputmask._valueGet(),
  276. "a1",
  277. "Result " + testmask.inputmask._valueGet()
  278. );
  279. });
  280. qunit.test("(999)|(0aa) - type 0ab - ivaninDarpatov", function (assert) {
  281. var $fixture = $("#qunit-fixture");
  282. $fixture.append('<input type="text" id="testmask" />');
  283. var testmask = document.getElementById("testmask");
  284. Inputmask("(999)|(0aa)").mask(testmask);
  285. testmask.focus();
  286. $("#testmask").Type("0ab");
  287. assert.equal(
  288. testmask.inputmask._valueGet(),
  289. "0ab",
  290. "Result " + testmask.inputmask._valueGet()
  291. );
  292. });
  293. qunit.test("(999)|(0aa) - type 1ab - ivaninDarpatov", function (assert) {
  294. var $fixture = $("#qunit-fixture");
  295. $fixture.append('<input type="text" id="testmask" />');
  296. var testmask = document.getElementById("testmask");
  297. Inputmask("(999)|(0aa)").mask(testmask);
  298. testmask.focus();
  299. $("#testmask").Type("1ab");
  300. assert.equal(
  301. testmask.inputmask._valueGet(),
  302. "1__",
  303. "Result " + testmask.inputmask._valueGet()
  304. );
  305. });
  306. qunit.test(
  307. "(9)|(09)|(19)|(2f) - type 41 - ivaninDarpatov",
  308. function (assert) {
  309. var $fixture = $("#qunit-fixture");
  310. $fixture.append('<input type="text" id="testmask" />');
  311. var testmask = document.getElementById("testmask");
  312. Inputmask("(9)|(09)|(19)|(2f)", {
  313. definitions: {
  314. f: { validator: "[0-3]" }
  315. }
  316. }).mask(testmask);
  317. testmask.focus();
  318. $("#testmask").Type("41");
  319. assert.equal(
  320. testmask.inputmask._valueGet(),
  321. "4",
  322. "Result " + testmask.inputmask._valueGet()
  323. );
  324. }
  325. );
  326. qunit.test(
  327. "(9)|(09)|(19)|(2f) - type 01 - ivaninDarpatov",
  328. function (assert) {
  329. var $fixture = $("#qunit-fixture");
  330. $fixture.append('<input type="text" id="testmask" />');
  331. var testmask = document.getElementById("testmask");
  332. Inputmask("(9)|(09)|(19)|(2f)", {
  333. definitions: {
  334. f: { validator: "[0-3]" }
  335. }
  336. }).mask(testmask);
  337. testmask.focus();
  338. $("#testmask").Type("01");
  339. assert.equal(
  340. testmask.inputmask._valueGet(),
  341. "01",
  342. "Result " + testmask.inputmask._valueGet()
  343. );
  344. }
  345. );
  346. qunit.test(
  347. "(9)|(09)|(19)|(2f) - type 11 - ivaninDarpatov",
  348. function (assert) {
  349. var $fixture = $("#qunit-fixture");
  350. $fixture.append('<input type="text" id="testmask" />');
  351. var testmask = document.getElementById("testmask");
  352. Inputmask("(9)|(09)|(19)|(2f)", {
  353. definitions: {
  354. f: { validator: "[0-3]" }
  355. }
  356. }).mask(testmask);
  357. testmask.focus();
  358. $("#testmask").Type("11");
  359. assert.equal(
  360. testmask.inputmask._valueGet(),
  361. "11",
  362. "Result " + testmask.inputmask._valueGet()
  363. );
  364. }
  365. );
  366. qunit.test(
  367. "(9)|(09)|(19)|(2f) - type 23 - ivaninDarpatov",
  368. function (assert) {
  369. var $fixture = $("#qunit-fixture");
  370. $fixture.append('<input type="text" id="testmask" />');
  371. var testmask = document.getElementById("testmask");
  372. Inputmask("(9)|(09)|(19)|(2f)", {
  373. definitions: {
  374. f: { validator: "[0-3]" }
  375. }
  376. }).mask(testmask);
  377. testmask.focus();
  378. $("#testmask").Type("23");
  379. assert.equal(
  380. testmask.inputmask._valueGet(),
  381. "23",
  382. "Result " + testmask.inputmask._valueGet()
  383. );
  384. }
  385. );
  386. qunit.test("(9|09|19|2f) - type 24 - ivaninDarpatov", function (assert) {
  387. var $fixture = $("#qunit-fixture");
  388. $fixture.append('<input type="text" id="testmask" />');
  389. var testmask = document.getElementById("testmask");
  390. Inputmask("(9|09|19|2f)", {
  391. definitions: {
  392. f: { validator: "[0-3]" }
  393. }
  394. }).mask(testmask);
  395. testmask.focus();
  396. $("#testmask").Type("24");
  397. assert.equal(
  398. testmask.inputmask._valueGet(),
  399. "2",
  400. "Result " + testmask.inputmask._valueGet()
  401. );
  402. });
  403. qunit.test("(1|2|3)/(4|5)", function (assert) {
  404. var $fixture = $("#qunit-fixture");
  405. $fixture.append('<input type="text" id="testmask" />');
  406. var testmask = document.getElementById("testmask");
  407. Inputmask("(1|2|3)/(4|5)").mask(testmask);
  408. testmask.focus();
  409. $("#testmask").Type("34");
  410. assert.equal(
  411. testmask.inputmask._valueGet(),
  412. "3/4",
  413. "Result " + testmask.inputmask._valueGet()
  414. );
  415. });
  416. qunit.test("(99)|(*a)", function (assert) {
  417. var $fixture = $("#qunit-fixture");
  418. $fixture.append('<input type="text" id="testmask" />');
  419. var testmask = document.getElementById("testmask");
  420. Inputmask("(99)|(*a)").mask(testmask);
  421. testmask.focus();
  422. $("#testmask").Type("12");
  423. assert.equal(
  424. testmask.inputmask._valueGet(),
  425. "12",
  426. "Result " + testmask.inputmask._valueGet()
  427. );
  428. });
  429. qunit.test("(99)|(*a)", function (assert) {
  430. var $fixture = $("#qunit-fixture");
  431. $fixture.append('<input type="text" id="testmask" />');
  432. var testmask = document.getElementById("testmask");
  433. Inputmask("(99)|(*a)").mask(testmask);
  434. testmask.focus();
  435. $("#testmask").Type("1a");
  436. assert.equal(
  437. testmask.inputmask._valueGet(),
  438. "1a",
  439. "Result " + testmask.inputmask._valueGet()
  440. );
  441. });
  442. qunit.test("(99)|(*a)", function (assert) {
  443. var $fixture = $("#qunit-fixture");
  444. $fixture.append('<input type="text" id="testmask" />');
  445. var testmask = document.getElementById("testmask");
  446. Inputmask("(99)|(*a)").mask(testmask);
  447. testmask.focus();
  448. $("#testmask").Type("ab");
  449. assert.equal(
  450. testmask.inputmask._valueGet(),
  451. "ab",
  452. "Result " + testmask.inputmask._valueGet()
  453. );
  454. });
  455. qunit.test("(99)|(*a)", function (assert) {
  456. var $fixture = $("#qunit-fixture");
  457. $fixture.append('<input type="text" id="testmask" />');
  458. var testmask = document.getElementById("testmask");
  459. Inputmask("(99)|(*a)").mask(testmask);
  460. testmask.focus();
  461. $("#testmask").Type("a2");
  462. assert.equal(
  463. testmask.inputmask._valueGet(),
  464. "a_",
  465. "Result " + testmask.inputmask._valueGet()
  466. );
  467. });
  468. qunit.test('regex: "([0-9]{2})|([a-z0-9][a-z])"', function (assert) {
  469. var $fixture = $("#qunit-fixture");
  470. $fixture.append('<input type="text" id="testmask" />');
  471. var testmask = document.getElementById("testmask");
  472. Inputmask({ regex: "([0-9]{2})|([a-z0-9][a-z])" }).mask(testmask);
  473. testmask.focus();
  474. $("#testmask").Type("a2");
  475. assert.equal(
  476. testmask.inputmask._valueGet(),
  477. "a_",
  478. "Result " + testmask.inputmask._valueGet()
  479. );
  480. });
  481. qunit.test("9|(9a)", function (assert) {
  482. var $fixture = $("#qunit-fixture");
  483. $fixture.append('<input type="text" id="testmask" />');
  484. var testmask = document.getElementById("testmask");
  485. Inputmask("9|(9a)").mask(testmask);
  486. testmask.focus();
  487. $("#testmask").Type("1");
  488. assert.equal(
  489. testmask.inputmask._valueGet(),
  490. "1",
  491. "Result " + testmask.inputmask._valueGet()
  492. );
  493. });
  494. qunit.test("([0]9)|(19)|(2f) - type 26 - ivaninDarpatov", function (assert) {
  495. var $fixture = $("#qunit-fixture");
  496. $fixture.append('<input type="text" id="testmask" />');
  497. var testmask = document.getElementById("testmask");
  498. Inputmask("([0]9)|(19)|(2f)", {
  499. definitions: {
  500. f: { validator: "[0-3]" }
  501. }
  502. }).mask(testmask);
  503. testmask.focus();
  504. $("#testmask").Type("26");
  505. assert.equal(
  506. testmask.inputmask._valueGet(),
  507. "2",
  508. "Result " + testmask.inputmask._valueGet()
  509. );
  510. });
  511. qunit.test(
  512. "(0{0,1}9)|(19)|(2f) - type 26 - ivaninDarpatov",
  513. function (assert) {
  514. var $fixture = $("#qunit-fixture");
  515. $fixture.append('<input type="text" id="testmask" />');
  516. var testmask = document.getElementById("testmask");
  517. Inputmask("(0{0,1}9)|(19)|(2f)", {
  518. definitions: {
  519. f: { validator: "[0-3]" }
  520. }
  521. }).mask(testmask);
  522. testmask.focus();
  523. $("#testmask").Type("26");
  524. assert.equal(
  525. testmask.inputmask._valueGet(),
  526. "2",
  527. "Result " + testmask.inputmask._valueGet()
  528. );
  529. }
  530. );
  531. qunit.test(
  532. "+(1|\\90|221) (999) 999 99-99 - type 1 - tcagkansokmen",
  533. function (assert) {
  534. var $fixture = $("#qunit-fixture");
  535. $fixture.append('<input type="text" id="testmask" />');
  536. var testmask = document.getElementById("testmask");
  537. Inputmask("+(1|\\90|221) (999) 999 99-99").mask(testmask);
  538. testmask.focus();
  539. $("#testmask").Type("1");
  540. assert.equal(
  541. testmask.inputmask._valueGet(),
  542. "+1 (___) ___ __-__",
  543. "Result " + testmask.inputmask._valueGet()
  544. );
  545. }
  546. );
  547. qunit.test(
  548. "+(1|\\90|221) (999) 999 99-99 - type 9 - tcagkansokmen",
  549. function (assert) {
  550. var $fixture = $("#qunit-fixture");
  551. $fixture.append('<input type="text" id="testmask" />');
  552. var testmask = document.getElementById("testmask");
  553. Inputmask("+(1|\\90|221) (999) 999 99-99").mask(testmask);
  554. testmask.focus();
  555. $("#testmask").Type("9");
  556. assert.equal(
  557. testmask.inputmask._valueGet(),
  558. "+90 (___) ___ __-__",
  559. "Result " + testmask.inputmask._valueGet()
  560. );
  561. }
  562. );
  563. qunit.test(
  564. "+(1|\\90|221) (999) 999 99-99 - type 2 - tcagkansokmen",
  565. function (assert) {
  566. var $fixture = $("#qunit-fixture");
  567. $fixture.append('<input type="text" id="testmask" />');
  568. var testmask = document.getElementById("testmask");
  569. Inputmask("+(1|\\90|221) (999) 999 99-99").mask(testmask);
  570. testmask.focus();
  571. $("#testmask").Type("2");
  572. assert.equal(
  573. testmask.inputmask._valueGet(),
  574. "+221 (___) ___ __-__",
  575. "Result " + testmask.inputmask._valueGet()
  576. );
  577. }
  578. );
  579. qunit.test("+(9| ){0,15} - #2125", function (assert) {
  580. var $fixture = $("#qunit-fixture");
  581. $fixture.append('<input type="text" id="testmask" />');
  582. var testmask = document.getElementById("testmask");
  583. Inputmask("+(9| ){0,15}").mask(testmask);
  584. testmask.focus();
  585. $("#testmask").Type("123 456");
  586. assert.equal(testmask.value, "+123 456", "Result " + testmask.value);
  587. });
  588. qunit.test(
  589. "Problems with deleting static chars in alternator mask type b - #2648",
  590. function (assert) {
  591. var $fixture = $("#qunit-fixture");
  592. $fixture.append('<input type="text" id="testmask" />');
  593. var testmask = document.getElementById("testmask");
  594. Inputmask({
  595. mask: ["BE9{2} 9{3} 9", "\\AT9{2} 9{2} 9{2}"],
  596. casing: "upper",
  597. keepStatic: false
  598. }).mask(testmask);
  599. testmask.focus();
  600. $("#testmask").Type("at121212");
  601. $.caret(testmask, 2);
  602. $("#testmask").SendKey(keys.Backspace);
  603. $("#testmask").Type("b");
  604. assert.equal(testmask.value, "BE12 121 2", "Result " + testmask.value);
  605. }
  606. );
  607. qunit.test(
  608. "Problems with deleting static chars in alternator mask type a - #2648",
  609. function (assert) {
  610. var $fixture = $("#qunit-fixture");
  611. $fixture.append('<input type="text" id="testmask" />');
  612. var testmask = document.getElementById("testmask");
  613. Inputmask({
  614. mask: ["BE9{2} 9{3} 9", "\\AT9{2} 9{2} 9{2}"],
  615. casing: "upper",
  616. keepStatic: false
  617. }).mask(testmask);
  618. testmask.focus();
  619. $("#testmask").Type("at121212");
  620. $.caret(testmask, 2);
  621. $("#testmask").SendKey(keys.Backspace);
  622. $("#testmask").Type("a");
  623. assert.equal(testmask.value, "AT12 12 12", "Result " + testmask.value);
  624. }
  625. );
  626. qunit.test(
  627. "Problems with deleting static chars in alternator mask delete a - #2648",
  628. function (assert) {
  629. var $fixture = $("#qunit-fixture");
  630. $fixture.append('<input type="text" id="testmask" />');
  631. var testmask = document.getElementById("testmask");
  632. Inputmask({
  633. mask: ["B9", "\\A9 9{1}"],
  634. casing: "upper",
  635. keepStatic: false
  636. }).mask(testmask);
  637. testmask.focus();
  638. $("#testmask").Type("a12");
  639. $.caret(testmask, 1);
  640. $("#testmask").SendKey(keys.Backspace);
  641. assert.equal(testmask.value, "_1 2", "Result " + testmask.value);
  642. }
  643. );
  644. qunit.test(
  645. "Optional parts not working as expected - type 123456789 - #2710",
  646. function (assert) {
  647. var $fixture = $("#qunit-fixture");
  648. $fixture.append('<input type="text" id="testmask" />');
  649. var testmask = document.getElementById("testmask");
  650. Inputmask({
  651. mask: "*-******[-**]",
  652. clearIncomplete: true
  653. }).mask(testmask);
  654. testmask.focus();
  655. $("#testmask").Type("123456789");
  656. testmask.blur();
  657. assert.equal(testmask.value, "1-234567-89", "Result " + testmask.value);
  658. }
  659. );
  660. qunit.test(
  661. "Optional parts not working as expected - type 1234567 - #2710",
  662. function (assert) {
  663. var $fixture = $("#qunit-fixture");
  664. $fixture.append('<input type="text" id="testmask" />');
  665. var testmask = document.getElementById("testmask");
  666. Inputmask({
  667. mask: "*-******[-**]",
  668. clearIncomplete: true
  669. }).mask(testmask);
  670. testmask.focus();
  671. $("#testmask").Type("1234567");
  672. testmask.blur();
  673. assert.equal(testmask.value, "1-234567", "Result " + testmask.value);
  674. }
  675. );
  676. qunit.test(
  677. "Optional parts not working as expected - type 12345678 - #2710",
  678. function (assert) {
  679. var $fixture = $("#qunit-fixture");
  680. $fixture.append('<input type="text" id="testmask" />');
  681. var testmask = document.getElementById("testmask");
  682. Inputmask({
  683. mask: "*-******[-**]",
  684. clearIncomplete: true
  685. }).mask(testmask);
  686. testmask.focus();
  687. $("#testmask").Type("12345678");
  688. testmask.blur();
  689. assert.equal(testmask.value, "", "Result " + testmask.value);
  690. }
  691. );
  692. }