tests_numeric.js 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489
  1. module("Numeric.Extensions");
  2. test("€ Currency precision 2", function() {
  3. var $fixture = $("#qunit-fixture");
  4. $fixture.append('<input type="text" id="testmask" />');
  5. $("#testmask").inputmask("numeric", {
  6. groupSeparator: ",",
  7. placeholder: "0",
  8. autoGroup: true,
  9. digits: 2,
  10. digitsOptional: false,
  11. prefix: "€ "
  12. });
  13. $("#testmask")[0].focus();
  14. $("#testmask").Type("1234");
  15. equal($("#testmask").val(), "€ 1,234.00", "Result " + $("#testmask").val());
  16. $("#testmask").remove();
  17. });
  18. test("integer type 124 correct to 1234", function() {
  19. var $fixture = $("#qunit-fixture");
  20. $fixture.append('<input type="text" id="testmask" />');
  21. $("#testmask").inputmask("numeric", {
  22. groupSeparator: ",",
  23. autoGroup: true
  24. });
  25. $("#testmask")[0].focus();
  26. $("#testmask").Type("124");
  27. $.caret($("#testmask")[0], 2);
  28. $("#testmask").Type("3");
  29. equal($("#testmask").val(), "1,234", "Result " + $("#testmask").val());
  30. $("#testmask").remove();
  31. });
  32. test("numeric type 00000 - Webunity", function() {
  33. var $fixture = $("#qunit-fixture");
  34. $fixture.append('<input type="text" id="testmask" />');
  35. $("#testmask").inputmask("numeric", {
  36. groupSeparator: ",",
  37. autoGroup: true,
  38. integerDigits: 9
  39. });
  40. $("#testmask")[0].focus();
  41. $("#testmask").Type("00000");
  42. equal($("#testmask").val(), "0", "Result " + $("#testmask").val());
  43. $("#testmask").remove();
  44. });
  45. test("numeric -placeholder 0 type 00000 - Webunity", function() {
  46. var $fixture = $("#qunit-fixture");
  47. $fixture.append('<input type="text" id="testmask" />');
  48. $("#testmask").inputmask("numeric", {
  49. groupSeparator: ",",
  50. autoGroup: true,
  51. placeholder: "0"
  52. });
  53. $("#testmask")[0].focus();
  54. $("#testmask").Type("00000");
  55. equal($("#testmask")[0].inputmask._valueGet(), "0", "Result " + $("#testmask").val());
  56. $("#testmask").remove();
  57. });
  58. test("numeric placeholder 0 prefix € type 0.123 - Webunity", function() {
  59. var $fixture = $("#qunit-fixture");
  60. $fixture.append('<input type="text" id="testmask" />');
  61. $("#testmask").inputmask("numeric", {
  62. groupSeparator: ",",
  63. autoGroup: true,
  64. placeholder: "0",
  65. prefix: "€ "
  66. });
  67. $("#testmask")[0].focus();
  68. $("#testmask").Type("0.123");
  69. equal($("#testmask").val(), "€ 0.123", "Result " + $("#testmask").val());
  70. $("#testmask").remove();
  71. });
  72. test("numeric placeholder 0 prefix € type 0.123 - backspace - Webunity", function() {
  73. var $fixture = $("#qunit-fixture");
  74. $fixture.append('<input type="text" id="testmask" />');
  75. $("#testmask").inputmask("numeric", {
  76. groupSeparator: ",",
  77. autoGroup: true,
  78. placeholder: "0",
  79. prefix: "€ "
  80. });
  81. $("#testmask")[0].focus();
  82. $("#testmask").Type("0.123");
  83. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  84. equal($("#testmask").val(), "€ 0.12", "Result " + $("#testmask").val());
  85. $("#testmask").remove();
  86. });
  87. test("numeric placeholder 0 prefix € type 0.123 + add 1 in front - Webunity", function() {
  88. var $fixture = $("#qunit-fixture");
  89. $fixture.append('<input type="text" id="testmask" />');
  90. $("#testmask").inputmask("numeric", {
  91. groupSeparator: ",",
  92. autoGroup: true,
  93. placeholder: "0",
  94. prefix: "€ "
  95. });
  96. $("#testmask")[0].focus();
  97. $("#testmask").Type("0.123");
  98. $.caret($("#testmask")[0], 2);
  99. $("#testmask").Type("1");
  100. equal($("#testmask").val(), "€ 10.123", "Result " + $("#testmask").val());
  101. $("#testmask").remove();
  102. });
  103. test("numeric placeholder 0 autoGroup: false prefix € type 0.123 + add 123 in front - Webunity", function() {
  104. var $fixture = $("#qunit-fixture");
  105. $fixture.append('<input type="text" id="testmask" />');
  106. $("#testmask").inputmask("numeric", {
  107. groupSeparator: ",",
  108. autoGroup: false,
  109. placeholder: "0",
  110. prefix: "€ "
  111. });
  112. $("#testmask")[0].focus();
  113. $("#testmask").Type("0.123");
  114. $.caret($("#testmask")[0], 2);
  115. $("#testmask").Type("123");
  116. equal($("#testmask").val(), "€ 1230.123", "Result " + $("#testmask").val());
  117. $("#testmask").remove();
  118. });
  119. test("numeric placeholder 0 autoGroup: true prefix € type 0.123 + add 123 in front - Webunity", function() {
  120. var $fixture = $("#qunit-fixture");
  121. $fixture.append('<input type="text" id="testmask" />');
  122. $("#testmask").inputmask("numeric", {
  123. groupSeparator: ",",
  124. autoGroup: true,
  125. placeholder: "0",
  126. prefix: "€ "
  127. });
  128. $("#testmask")[0].focus();
  129. $("#testmask").Type("0.123");
  130. $.caret($("#testmask")[0], 2);
  131. $("#testmask").Type("123");
  132. equal($("#testmask").val(), "€ 1,230.123", "Result " + $("#testmask").val());
  133. $("#testmask").remove();
  134. });
  135. test("integer alias with integerDigits 9 & autogroup - type 123456789 - gigermocas", function() {
  136. var $fixture = $("#qunit-fixture");
  137. $fixture.append('<input type="text" id="testmask" />');
  138. $("#testmask").inputmask("integer", {
  139. groupSeparator: ",",
  140. autoGroup: true,
  141. integerDigits: 9
  142. });
  143. $("#testmask")[0].focus();
  144. $("#testmask").Type("123456789");
  145. equal($("#testmask").val(), "123,456,789", "Result " + $("#testmask").val());
  146. $("#testmask").remove();
  147. });
  148. test("integer alias with integerDigits 9 & autogroup - type 1234567890123456789 - gigermocas", function() {
  149. var $fixture = $("#qunit-fixture");
  150. $fixture.append('<input type="text" id="testmask" />');
  151. $("#testmask").inputmask("integer", {
  152. groupSeparator: ",",
  153. autoGroup: true,
  154. integerDigits: 9
  155. });
  156. $("#testmask")[0].focus();
  157. $("#testmask").Type("1234567890123456789");
  158. equal($("#testmask").val(), "123,456,789", "Result " + $("#testmask").val());
  159. $("#testmask").remove();
  160. });
  161. test("integer alias with integerDigits 4 & autogroup - type 1234567890123456789 - gigermocas", function() {
  162. var $fixture = $("#qunit-fixture");
  163. $fixture.append('<input type="text" id="testmask" />');
  164. $("#testmask").inputmask("integer", {
  165. groupSeparator: ",",
  166. autoGroup: true,
  167. integerDigits: 4
  168. });
  169. $("#testmask")[0].focus();
  170. $("#testmask").Type("1234567890123456789");
  171. equal($("#testmask").val(), "1,234", "Result " + $("#testmask").val());
  172. $("#testmask").remove();
  173. });
  174. test("decimal alias with integerDigits 9 & autogroup - type 123456789 - gigermocas", function() {
  175. var $fixture = $("#qunit-fixture");
  176. $fixture.append('<input type="text" id="testmask" />');
  177. $("#testmask").inputmask("decimal", {
  178. groupSeparator: ",",
  179. autoGroup: true,
  180. integerDigits: 9
  181. });
  182. $("#testmask")[0].focus();
  183. $("#testmask").Type("123456789");
  184. equal($("#testmask").val(), "123,456,789", "Result " + $("#testmask").val());
  185. $("#testmask").remove();
  186. });
  187. test("decimal alias with integerDigits 4 & autogroup - type 1234 - gigermocas", function() {
  188. var $fixture = $("#qunit-fixture");
  189. $fixture.append('<input type="text" id="testmask" />');
  190. $("#testmask").inputmask("decimal", {
  191. groupSeparator: ",",
  192. autoGroup: true,
  193. integerDigits: 4
  194. });
  195. $("#testmask")[0].focus();
  196. $("#testmask").Type("1234");
  197. equal($("#testmask").val(), "1,234", "Result " + $("#testmask").val());
  198. $("#testmask").remove();
  199. });
  200. test("numeric alias with allowMinus:false type=text - vijjj", function() {
  201. var $fixture = $("#qunit-fixture");
  202. $fixture.append('<input type="text" id="testmask" />');
  203. $("#testmask").inputmask("numeric", {
  204. radixPoint: ".",
  205. integerDigits: 6,
  206. allowMinus: false
  207. });
  208. $("#testmask")[0].focus();
  209. $("#testmask").Type("123456");
  210. $.caret($("#testmask"), 0);
  211. $("#testmask").SendKey("-");
  212. equal($("#testmask").val(), "123456", "Result " + $("#testmask").val());
  213. $("#testmask").remove();
  214. });
  215. test("numeric alias with allowMinus:false type=number - mask not applied - MartinVerges", function() {
  216. var $fixture = $("#qunit-fixture");
  217. $fixture.append('<input type="number" id="testmask" />');
  218. $("#testmask").inputmask("numeric", {
  219. radixPoint: ".",
  220. integerDigits: 6,
  221. allowMinus: false
  222. });
  223. $("#testmask")[0].focus();
  224. $("#testmask").Type("123456");
  225. $("#testmask").SendKey("-");
  226. //IE7 does not know type=number and treats as type=text
  227. ok($("#testmask").val() == "" || $("#testmask").val() == "123456", "Result " + $("#testmask").val());
  228. $("#testmask").remove();
  229. });
  230. test("inputmask(\"numeric\", { prefix: \"€ \" }\") - input 12345.12", function() {
  231. var $fixture = $("#qunit-fixture");
  232. $fixture.append('<input type="text" id="testmask" />');
  233. $("#testmask").inputmask("numeric", {
  234. prefix: "€ "
  235. });
  236. $("#testmask")[0].focus();
  237. $("#testmask").Type("12345.12");
  238. equal($("#testmask").val(), "€ 12345.12", "Result " + $("#testmask").val());
  239. $("#testmask").remove();
  240. });
  241. test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123", function() {
  242. var $fixture = $("#qunit-fixture");
  243. $fixture.append('<input type="text" id="testmask" />');
  244. $("#testmask").inputmask("decimal", {
  245. autoGroup: true,
  246. groupSeparator: ","
  247. });
  248. $("#testmask")[0].focus();
  249. $("#testmask").SendKey("1");
  250. $("#testmask").SendKey("2");
  251. $("#testmask").SendKey("3");
  252. $("#testmask").SendKey("4");
  253. $("#testmask").SendKey("5");
  254. $("#testmask").SendKey(".");
  255. $("#testmask").SendKey("1");
  256. $("#testmask").SendKey("2");
  257. $("#testmask").SendKey("3");
  258. equal($("#testmask").val(), "12,345.123", "Result " + $("#testmask").val());
  259. $("#testmask").remove();
  260. });
  261. asyncTest("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + remove .123", function() {
  262. var $fixture = $("#qunit-fixture");
  263. $fixture.append('<input type="text" id="testmask" />');
  264. $("#testmask").inputmask("decimal", {
  265. autoGroup: true,
  266. groupSeparator: ",",
  267. decimalProtect: true
  268. });
  269. $("#testmask")[0].focus();
  270. $("#testmask").Type("12345.123");
  271. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  272. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  273. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  274. $("#testmask").blur();
  275. setTimeout(function() {
  276. start();
  277. equal($("#testmask").val(), "12,345", "Result " + $("#testmask").val());
  278. //$("#testmask").remove();
  279. }, 0);
  280. });
  281. test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123 + replace .123 => .789", function() {
  282. var $fixture = $("#qunit-fixture");
  283. $fixture.append('<input type="text" id="testmask" />');
  284. $("#testmask").inputmask("decimal", {
  285. autoGroup: true,
  286. groupSeparator: ","
  287. });
  288. $("#testmask")[0].focus();
  289. $("#testmask").Type("12345.123");
  290. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  291. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  292. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  293. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  294. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  295. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  296. $("#testmask").Type(".789");
  297. equal($("#testmask").val(), "12,345.789", "Result " + $("#testmask").val());
  298. $("#testmask").remove();
  299. });
  300. test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123 + replace .123 => .789", function() {
  301. var $fixture = $("#qunit-fixture");
  302. $fixture.append('<input type="text" id="testmask" />');
  303. $("#testmask").inputmask("decimal", {
  304. autoGroup: true,
  305. groupSeparator: ","
  306. });
  307. $("#testmask")[0].focus();
  308. $("#testmask").Type("12345.123");
  309. //$("#testmask").click();
  310. $.caret($("#testmask"), 6, 10);
  311. $("#testmask").Type(".789");
  312. equal($("#testmask").val(), "12,345.789", "Result " + $("#testmask").val());
  313. $("#testmask").remove();
  314. });
  315. test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + remove .123", function() {
  316. var $fixture = $("#qunit-fixture");
  317. $fixture.append('<input type="text" id="testmask" />');
  318. $("#testmask").inputmask("decimal", {
  319. autoGroup: false,
  320. groupSeparator: ",",
  321. decimalProtect: true
  322. });
  323. $("#testmask")[0].focus();
  324. $("#testmask").Type("12345.123");
  325. //$("#testmask").click();
  326. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  327. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  328. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  329. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  330. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  331. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  332. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  333. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  334. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  335. $("#testmask").remove();
  336. });
  337. test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\", decimalProtect: false }\") - input 12345.123 + remove .123", function() {
  338. var $fixture = $("#qunit-fixture");
  339. $fixture.append('<input type="text" id="testmask" />');
  340. $("#testmask").inputmask("decimal", {
  341. autoGroup: false,
  342. groupSeparator: ",",
  343. decimalProtect: false
  344. });
  345. $("#testmask")[0].focus();
  346. $("#testmask").Type("12345.123");
  347. //$("#testmask").click();
  348. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  349. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  350. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  351. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  352. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  353. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  354. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  355. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  356. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  357. $("#testmask").remove();
  358. });
  359. test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + replace .123 => .789", function() {
  360. var $fixture = $("#qunit-fixture");
  361. $fixture.append('<input type="text" id="testmask" />');
  362. $("#testmask").inputmask("decimal", {
  363. autoGroup: false,
  364. groupSeparator: ",",
  365. decimalProtect: true
  366. });
  367. $("#testmask")[0].focus();
  368. $("#testmask").Type("12345.123");
  369. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  370. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  371. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  372. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  373. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  374. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  375. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  376. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  377. $("#testmask").Type(".789");
  378. equal($("#testmask").val(), "12345.789", "Result " + $("#testmask").val());
  379. $("#testmask").remove();
  380. });
  381. test("inputmask(\"decimal\") - maxlength 10", function() {
  382. var $fixture = $("#qunit-fixture");
  383. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  384. $("#testmask").inputmask("decimal");
  385. $("#testmask")[0].focus();
  386. $("#testmask").Type("123456789012345");
  387. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  388. $("#testmask").remove();
  389. });
  390. test("inputmask(\"decimal, { repeat: 15 }\") - maxlength 10", function() {
  391. var $fixture = $("#qunit-fixture");
  392. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  393. $("#testmask").inputmask("decimal", {
  394. repeat: 15
  395. });
  396. $("#testmask")[0].focus();
  397. $("#testmask").Type("123456789012345");
  398. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  399. $("#testmask").remove();
  400. });
  401. test("inputmask(\"decimal, { repeat: 5, decimalProtect: true }\") - maxlength 10", function() {
  402. var $fixture = $("#qunit-fixture");
  403. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  404. $("#testmask").inputmask("decimal", {
  405. repeat: 5,
  406. decimalProtect: true
  407. });
  408. $("#testmask")[0].focus();
  409. $("#testmask").Type("123456789012345");
  410. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  411. $("#testmask").remove();
  412. });
  413. test("inputmask(\"decimal, { repeat: 5, decimalProtect: false }\") - maxlength 10", function() {
  414. var $fixture = $("#qunit-fixture");
  415. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  416. $("#testmask").inputmask("decimal", {
  417. repeat: 5,
  418. decimalProtect: false
  419. });
  420. $("#testmask")[0].focus();
  421. $("#testmask").Type("123456789012345");
  422. equal($("#testmask").val(), "12345.6789", "Result " + $("#testmask").val());
  423. $("#testmask").remove();
  424. });
  425. test("inputmask(\"decimal\")", function() {
  426. var $fixture = $("#qunit-fixture");
  427. $fixture.append('<input type="text" id="testmask" />');
  428. $("#testmask").inputmask("decimal");
  429. $("#testmask")[0].focus();
  430. $("#testmask").Type("1234567890");
  431. $.caret($("#testmask"), 0, 10);
  432. $("#testmask").Type("12345");
  433. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  434. $("#testmask").remove();
  435. });
  436. test("inputmask(\"decimal\") - value=\"1234567890\"", function() {
  437. var $fixture = $("#qunit-fixture");
  438. $fixture.append('<input type="text" id="testmask" value="1234567890" />');
  439. $("#testmask").inputmask("decimal");
  440. $("#testmask")[0].focus();
  441. $.caret($("#testmask"), 0, 10);
  442. $("#testmask").Type("12345");
  443. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  444. $("#testmask").remove();
  445. });
  446. test("inputmask(\"decimal\")", function() {
  447. var $fixture = $("#qunit-fixture");
  448. $fixture.append('<input type="text" id="testmask" />');
  449. $("#testmask").inputmask("decimal");
  450. $("#testmask")[0].focus();
  451. $("#testmask").Type("1234567890");
  452. $.caret($("#testmask"), 3, 5);
  453. $("#testmask").SendKey("0");
  454. equal($("#testmask").val(), "123067890", "Result " + $("#testmask").val());
  455. $("#testmask").remove();
  456. });
  457. test("inputmask(\"decimal\") - value=\"1234567890\"", function() {
  458. var $fixture = $("#qunit-fixture");
  459. $fixture.append('<input type="text" id="testmask" value="1234567890" />');
  460. $("#testmask").inputmask("decimal");
  461. $("#testmask")[0].focus();
  462. $.caret($("#testmask"), 3, 5);
  463. $("#testmask").SendKey("0");
  464. equal($("#testmask").val(), "123067890", "Result " + $("#testmask").val());
  465. $("#testmask").remove();
  466. });
  467. test("inputmask(\"decimal\") - value=\"123.45\" Replace last integer", function() {
  468. var $fixture = $("#qunit-fixture");
  469. $fixture.append('<input type="text" id="testmask" />');
  470. $("#testmask").inputmask("decimal", {
  471. digits: 2
  472. });
  473. $("#testmask")[0].focus();
  474. $("#testmask").Type("123.45");
  475. $.caret($("#testmask"), 2, 3);
  476. $("#testmask").SendKey("7");
  477. equal($("#testmask").val(), "127.45", "Result " + $("#testmask").val());
  478. $("#testmask").remove();
  479. });
  480. test("inputmask(\"decimal\", { digits: 2 }) - value=\"123\" - RomeroMsk", function() {
  481. var $fixture = $("#qunit-fixture");
  482. $fixture.append('<input type="text" id="testmask" />');
  483. $("#testmask").inputmask("decimal", {
  484. digits: 2
  485. });
  486. $("#testmask")[0].focus();
  487. $("#testmask").Type("123");
  488. $.caret($("#testmask"), 0, 3);
  489. $("#testmask").SendKey(",,..");
  490. $("#testmask").Type("45");
  491. equal($("#testmask").val(), "0.45", "Result " + $("#testmask").val());
  492. $("#testmask").remove();
  493. });
  494. test("inputmask - Multiple inputs masked, Integer mask doesn't allow typing - #402 - albatrocity", function() {
  495. var $fixture = $("#qunit-fixture");
  496. $fixture.append('<input type="text" id="testmask" />');
  497. $fixture.append('<input type="text" id="testmask2" />');
  498. $("#testmask").inputmask("integer", {
  499. autoGroup: true,
  500. groupSeparator: ",",
  501. groupSize: 3
  502. });
  503. $("#testmask2").inputmask("(999)-999-9999");
  504. $("#testmask")[0].focus();
  505. $("#testmask").Type("12345");
  506. equal($("#testmask").val(), "12,345", "Result " + $("#testmask").val());
  507. $("#testmask").remove();
  508. $("#testmask2").remove();
  509. });
  510. test("decimal alias with groupseparator delete - YoussefTaghlabi", function() {
  511. var $fixture = $("#qunit-fixture");
  512. $fixture.append('<input type="text" id="testmask" />');
  513. $("#testmask").inputmask("decimal", {
  514. radixPoint: ".",
  515. groupSeparator: ",",
  516. groupSize: 3,
  517. digits: 2,
  518. autoGroup: true,
  519. allowPlus: false,
  520. allowMinus: true
  521. });
  522. $("#testmask")[0].focus();
  523. $("#testmask").Type("1234567");
  524. $.caret($("#testmask"), 0);
  525. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  526. equal($("#testmask").val(), "234,567", "Result " + $("#testmask").val());
  527. $("#testmask").remove();
  528. });
  529. test("decimal alias with groupseparator backspace - YoussefTaghlabi", function() {
  530. var $fixture = $("#qunit-fixture");
  531. $fixture.append('<input type="text" id="testmask" />');
  532. $("#testmask").inputmask("decimal", {
  533. radixPoint: ".",
  534. groupSeparator: ",",
  535. groupSize: 3,
  536. digits: 2,
  537. autoGroup: true,
  538. allowPlus: false,
  539. allowMinus: true
  540. });
  541. $("#testmask")[0].focus();
  542. $("#testmask").Type("1234567");
  543. $.caret($("#testmask"), 1);
  544. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  545. equal($("#testmask").val(), "234,567", "Result " + $("#testmask").val());
  546. $("#testmask").remove();
  547. });
  548. test("decimal alias with plus or minus & autogroup - type -123456 - YoussefTaghlabi", function() {
  549. var $fixture = $("#qunit-fixture");
  550. $fixture.append('<input type="text" id="testmask" />');
  551. $("#testmask").inputmask("decimal", {
  552. radixPoint: ".",
  553. groupSeparator: ",",
  554. groupSize: 3,
  555. digits: 2,
  556. autoGroup: true,
  557. allowPlus: true,
  558. allowMinus: true
  559. });
  560. $("#testmask")[0].focus();
  561. $("#testmask").Type("-123456");
  562. equal($("#testmask").val(), "-123,456", "Result " + $("#testmask").val());
  563. $("#testmask").remove();
  564. });
  565. test("decimal alias with plus or minus & autogroup - type 123465 - - YoussefTaghlabi", function() {
  566. var $fixture = $("#qunit-fixture");
  567. $fixture.append('<input type="text" id="testmask" />');
  568. $("#testmask").inputmask("decimal", {
  569. radixPoint: ".",
  570. groupSeparator: ",",
  571. groupSize: 3,
  572. digits: 2,
  573. autoGroup: true,
  574. allowPlus: true,
  575. allowMinus: true
  576. });
  577. $("#testmask")[0].focus();
  578. $("#testmask").Type("123456");
  579. $.caret($("#testmask"), 0);
  580. $("#testmask").SendKey("-");
  581. equal($("#testmask").val(), "-123,456", "Result " + $("#testmask").val());
  582. $("#testmask").remove();
  583. });
  584. test("decimal alias with plus or minus & autogroup", function() {
  585. var $fixture = $("#qunit-fixture");
  586. $fixture.append('<input type="text" id="testmask" />');
  587. $("#testmask").inputmask("decimal", {
  588. radixPoint: ".",
  589. groupSeparator: ",",
  590. groupSize: 3,
  591. digits: 2,
  592. autoGroup: true,
  593. allowPlus: true,
  594. allowMinus: true
  595. });
  596. $("#testmask")[0].focus();
  597. $("#testmask").Type("1234.56");
  598. equal($("#testmask").val(), "1,234.56", "Result " + $("#testmask").val());
  599. $("#testmask").remove();
  600. });
  601. test("decimal alias set value with val() - kochelmonster", function() {
  602. var $fixture = $("#qunit-fixture");
  603. $fixture.append('<input type="text" id="testmask" />');
  604. $("#testmask").inputmask("decimal", {
  605. radixPoint: ",",
  606. groupSeparator: ".",
  607. digits: 2,
  608. autoGroup: true,
  609. suffix: ' €'
  610. });
  611. $("#testmask").val("39.399.392,22 €");
  612. equal($("#testmask").val(), "39.399.392,22 €", "Result " + $("#testmask").val());
  613. $("#testmask").remove();
  614. });
  615. asyncTest("inputmask(\"decimal\") - value=\"123.1\" blur digitsoptional", function() {
  616. var $fixture = $("#qunit-fixture");
  617. $fixture.append('<input type="text" id="testmask" />');
  618. $("#testmask").inputmask("decimal", {
  619. digits: 3
  620. });
  621. $("#testmask")[0].focus();
  622. $("#testmask").Type("123.1");
  623. $("#testmask").blur();
  624. setTimeout(function() {
  625. start();
  626. equal($("#testmask").val(), "123.1", "Result " + $("#testmask").val());
  627. $("#testmask").remove();
  628. }, 0);
  629. });
  630. asyncTest("inputmask(\"decimal\") - value=\"123.1\" blur", function() {
  631. var $fixture = $("#qunit-fixture");
  632. $fixture.append('<input type="text" id="testmask" />');
  633. $("#testmask").inputmask("decimal", {
  634. digits: 3,
  635. digitsOptional: false
  636. });
  637. $("#testmask")[0].focus();
  638. $("#testmask").Type("123.1");
  639. $("#testmask").blur();
  640. setTimeout(function() {
  641. start();
  642. equal($("#testmask").val(), "123.100", "Result " + $("#testmask").val());
  643. $("#testmask").remove();
  644. }, 0);
  645. });
  646. asyncTest("currency alias - 200000 => replace 2 to 3", function() {
  647. var $fixture = $("#qunit-fixture");
  648. $fixture.append('<input type="text" id="testmask" />');
  649. $("#testmask").inputmask("currency");
  650. $("#testmask")[0].focus();
  651. $("#testmask").click();
  652. setTimeout(function() {
  653. $("#testmask").Type("200000");
  654. $.caret($("#testmask"), 2, 3);
  655. $("#testmask").Type("3");
  656. start();
  657. equal($("#testmask").val(), "$ 300,000.00", "Result " + $("#testmask").val());
  658. $("#testmask").remove();
  659. }, 5);
  660. });
  661. asyncTest("inputmask(\"integer\") - -0 - laxmikantG", function() {
  662. var $fixture = $("#qunit-fixture");
  663. $fixture.append('<input type="text" id="testmask" />');
  664. $("#testmask").inputmask("integer", {
  665. placeholder: "0"
  666. });
  667. $("#testmask")[0].focus();
  668. $("#testmask").Type("-0");
  669. $("#testmask").blur();
  670. setTimeout(function() {
  671. start();
  672. equal($("#testmask").val(), "", "Result " + $("#testmask").val());
  673. $("#testmask").remove();
  674. }, 0);
  675. });
  676. test("inputmask(\"integer\") - 123- - laxmikantG", function() {
  677. var $fixture = $("#qunit-fixture");
  678. $fixture.append('<input type="text" id="testmask" />');
  679. $("#testmask").inputmask("integer", {
  680. placeholder: "0"
  681. });
  682. $("#testmask")[0].focus();
  683. $("#testmask").Type("123-");
  684. equal($("#testmask").val(), "-123", "Result " + $("#testmask").val());
  685. $("#testmask").remove();
  686. });
  687. test("inputmask(\"decimal\") - val(\"-5000,77\"); - ManRueda", function() {
  688. var $fixture = $("#qunit-fixture");
  689. $fixture.append('<input type="text" id="testmask" />');
  690. $("#testmask").inputmask('decimal', {
  691. integerDigits: 10,
  692. groupSeparator: '.',
  693. autoGroup: true,
  694. digits: 2,
  695. radixPoint: ',',
  696. groupSize: 3
  697. });
  698. $("#testmask").val("-5000,77");
  699. equal($("#testmask").val(), "-5.000,77", "Result " + $("#testmask").val());
  700. $("#testmask").remove();
  701. });
  702. test("inputmask(\"decimal\") - -0 - ManRueda", function() {
  703. var $fixture = $("#qunit-fixture");
  704. $fixture.append('<input type="text" id="testmask" />');
  705. $("#testmask").inputmask('decimal', {
  706. integerDigits: 10,
  707. groupSeparator: '.',
  708. autoGroup: true,
  709. digits: 2,
  710. radixPoint: ',',
  711. groupSize: 3
  712. });
  713. $("#testmask").val("-0");
  714. $("#testmask").blur();
  715. equal($("#testmask").val(), "0", "Result " + $("#testmask").val());
  716. $("#testmask").remove();
  717. });
  718. test("inputmask(\"integer\") - -5.000,77 - DrSammyD", function() {
  719. var $fixture = $("#qunit-fixture");
  720. $fixture.append('<input type="text" id="testmask" />');
  721. $("#testmask").inputmask('integer', {
  722. placeholder: "0"
  723. });
  724. $("#testmask").val("-5.000,77");
  725. $("#testmask").blur();
  726. equal($("#testmask").val(), "-5000", "Result " + $("#testmask").val());
  727. $("#testmask").remove();
  728. });
  729. asyncTest("inputmask(\"decimal\ placeholder :\"\" digitsoptional: false) - 123 - loostro", function() {
  730. var $fixture = $("#qunit-fixture");
  731. $fixture.append('<input type="text" id="testmask" value="0,00" />');
  732. $("#testmask").inputmask("decimal", {
  733. radixPoint: ",",
  734. digits: 2,
  735. digitsOptional: false,
  736. autoGroup: true,
  737. groupSeparator: " ",
  738. groupSize: 3,
  739. allowPlus: false,
  740. allowMinus: false,
  741. });
  742. $("#testmask")[0].focus();
  743. $("#testmask").click();
  744. $.caret($("#testmask"), 0);
  745. setTimeout(function() {
  746. $("#testmask").Type("123");
  747. start();
  748. equal($("#testmask").val(), "123,00", "Result " + $("#testmask").val());
  749. $("#testmask").remove();
  750. }, 5);
  751. });
  752. asyncTest("inputmask(\"decimal\ placeholder :\"0\" digitsoptional: false) - .12 - YodaJM", function() {
  753. var $fixture = $("#qunit-fixture");
  754. $fixture.append('<input type="text" id="testmask" />');
  755. $("#testmask").inputmask('decimal', {
  756. digits: 2,
  757. placeholder: "0",
  758. digitsOptional: false
  759. });
  760. $("#testmask")[0].focus();
  761. $.caret($("#testmask"), 0, 4);
  762. setTimeout(function() {
  763. $("#testmask").Type(".12");
  764. start();
  765. equal($("#testmask").val(), "0.12", "Result " + $("#testmask").val());
  766. $("#testmask").remove();
  767. }, 0);
  768. });
  769. test("inputmask(\"decimal\") - '8100000.00' - ManRueda", function() {
  770. var $fixture = $("#qunit-fixture");
  771. $fixture.append('<input type="text" id="testmask" />');
  772. $("#testmask").inputmask('decimal', {
  773. integerDigits: 6,
  774. groupSeparator: '.',
  775. autoGroup: true,
  776. digits: 2,
  777. radixPoint: ',',
  778. groupSize: 3
  779. });
  780. $("#testmask").val("8100000.00");
  781. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  782. $("#testmask").remove();
  783. });
  784. test("inputmask(\"decimal\") - '12345678.12' - ManRueda", function() {
  785. var $fixture = $("#qunit-fixture");
  786. $fixture.append('<input type="text" id="testmask" />');
  787. $("#testmask").inputmask('decimal', {
  788. integerDigits: 6,
  789. groupSeparator: '.',
  790. autoGroup: true,
  791. digits: 2,
  792. radixPoint: ',',
  793. groupSize: 3
  794. });
  795. $("#testmask").val("12345678.12");
  796. equal($("#testmask").val(), "123.456,12", "Result " + $("#testmask").val());
  797. $("#testmask").remove();
  798. });
  799. test("inputmask(\"decimal\") - '8100000,00' - ManRueda", function() {
  800. var $fixture = $("#qunit-fixture");
  801. $fixture.append('<input type="text" id="testmask" />');
  802. $("#testmask").inputmask('decimal', {
  803. integerDigits: 6,
  804. groupSeparator: '.',
  805. autoGroup: true,
  806. digits: 2,
  807. radixPoint: ',',
  808. groupSize: 3
  809. });
  810. $("#testmask").val("8100000,00");
  811. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  812. $("#testmask").remove();
  813. });
  814. test("inputmask(\"decimal\") - 8100000.00 - ManRueda", function() {
  815. var $fixture = $("#qunit-fixture");
  816. $fixture.append('<input type="text" id="testmask" />');
  817. $("#testmask").inputmask('decimal', {
  818. integerDigits: 6,
  819. groupSeparator: '.',
  820. autoGroup: true,
  821. digits: 2,
  822. radixPoint: ',',
  823. groupSize: 3
  824. });
  825. $("#testmask").val(8100000.00);
  826. equal($("#testmask").val(), "810.000", "Result " + $("#testmask").val());
  827. $("#testmask").remove();
  828. });
  829. test("inputmask(\"decimal\") - 8100000.00 digitsoptional false - ManRueda", function() {
  830. var $fixture = $("#qunit-fixture");
  831. $fixture.append('<input type="text" id="testmask" />');
  832. $("#testmask").inputmask('decimal', {
  833. integerDigits: 6,
  834. groupSeparator: '.',
  835. autoGroup: true,
  836. digits: 2,
  837. digitsOptional: false,
  838. radixPoint: ',',
  839. groupSize: 3
  840. });
  841. $("#testmask").val(8100000.00);
  842. $("#testmask").blur();
  843. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  844. $("#testmask").remove();
  845. });
  846. test("inputmask(\"decimal\") - 810000.00 - ManRueda", function() {
  847. var $fixture = $("#qunit-fixture");
  848. $fixture.append('<input type="text" id="testmask" />');
  849. $("#testmask").inputmask('decimal', {
  850. integerDigits: 6,
  851. groupSeparator: '.',
  852. autoGroup: true,
  853. digits: 2,
  854. radixPoint: ',',
  855. groupSize: 3
  856. });
  857. $("#testmask").val('810000.00');
  858. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  859. $("#testmask").remove();
  860. });
  861. test("inputmask(\"decimal\") - 123456 78 - babupca", function() {
  862. var $fixture = $("#qunit-fixture");
  863. $fixture.append('<input type="text" id="testmask" />');
  864. $("#testmask").inputmask({
  865. alias: "decimal",
  866. integerDigits: 6,
  867. digits: 3,
  868. allowMinus: false,
  869. digitsOptional: false,
  870. placeholder: "0"
  871. });
  872. $("#testmask")[0].focus();
  873. $("#testmask").Type("123456");
  874. $.caret($("#testmask"), 8);
  875. $("#testmask").Type("78");
  876. $.caret($("#testmask"), 5);
  877. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  878. equal($("#testmask").val(), "12346.078", "Result " + $("#testmask").val());
  879. $("#testmask").remove();
  880. });
  881. asyncTest("currency alias - 1234 => del 1", function() {
  882. var $fixture = $("#qunit-fixture");
  883. $fixture.append('<input type="text" id="testmask" />');
  884. $("#testmask").inputmask("currency");
  885. $("#testmask")[0].focus();
  886. $("#testmask").click();
  887. setTimeout(function() {
  888. $("#testmask").Type("1234");
  889. $.caret($("#testmask"), 3);
  890. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  891. start();
  892. equal($("#testmask").val(), "$ 234.00", "Result " + $("#testmask").val());
  893. $("#testmask").remove();
  894. }, 5);
  895. });
  896. asyncTest("currency alias - 0.02 => type 1 in integer part", function() {
  897. var $fixture = $("#qunit-fixture");
  898. $fixture.append('<input type="text" id="testmask" />');
  899. $("#testmask").inputmask("currency");
  900. $("#testmask")[0].focus();
  901. $("#testmask").click();
  902. setTimeout(function() {
  903. $("#testmask").Type("0.02");
  904. $.caret($("#testmask"), 3);
  905. $("#testmask").SendKey("1");
  906. start();
  907. equal($("#testmask").val(), "$ 1.02", "Result " + $("#testmask").val());
  908. $("#testmask").remove();
  909. }, 5);
  910. });
  911. asyncTest("currency alias - 0.02 => position before 0 type 1 in integer part", function() {
  912. var $fixture = $("#qunit-fixture");
  913. $fixture.append('<input type="text" id="testmask" />');
  914. $("#testmask").inputmask("currency");
  915. $("#testmask")[0].focus();
  916. $("#testmask").click();
  917. setTimeout(function() {
  918. $("#testmask").Type("0.02");
  919. $.caret($("#testmask"), 2);
  920. $("#testmask").SendKey("1");
  921. start();
  922. equal($("#testmask").val(), "$ 10.02", "Result " + $("#testmask").val());
  923. $("#testmask").remove();
  924. }, 5);
  925. });
  926. asyncTest("currency alias - 1.23 => del 1 in integer part", function() {
  927. var $fixture = $("#qunit-fixture");
  928. $fixture.append('<input type="text" id="testmask" />');
  929. $("#testmask").inputmask("currency");
  930. $("#testmask")[0].focus();
  931. $("#testmask").click();
  932. setTimeout(function() {
  933. $("#testmask").Type("1.23");
  934. $.caret($("#testmask"), 3);
  935. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  936. start();
  937. equal($("#testmask").val(), "$ 0.23", "Result " + $("#testmask").val());
  938. $("#testmask").remove();
  939. }, 5);
  940. });
  941. asyncTest("currency alias - 1234.56 => delete all", function() {
  942. var $fixture = $("#qunit-fixture");
  943. $fixture.append('<input type="text" id="testmask" />');
  944. $("#testmask").inputmask("currency");
  945. $("#testmask")[0].focus();
  946. $("#testmask").click();
  947. setTimeout(function() {
  948. $("#testmask").Type("1234.56");
  949. $.caret($("#testmask"), 0, 10);
  950. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  951. start();
  952. equal($("#testmask")[0].inputmask._valueGet(), "$ 0.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  953. $("#testmask").remove();
  954. }, 5);
  955. });
  956. asyncTest("numeric prefix='$' - paste 1234.56 - baileyjames9 & TheAndyBob", function() {
  957. var $fixture = $("#qunit-fixture");
  958. $fixture.append('<input type="text" id="testmask" />');
  959. $("#testmask").inputmask("numeric", {
  960. radixPoint: ".",
  961. groupSeparator: ",",
  962. digits: 2,
  963. autoGroup: true,
  964. prefix: '$' //No Space, this will truncate the first character
  965. });
  966. $("#testmask")[0].focus();
  967. $("#testmask").click();
  968. setTimeout(function() {
  969. $("#testmask").paste("1234.56");
  970. start();
  971. equal($("#testmask").val(), "$1,234.56", "Result " + $("#testmask").val());
  972. $("#testmask").remove();
  973. }, 5);
  974. });
  975. asyncTest("currency alias - 1234.56 => select integer press 1 - babupca", function() {
  976. var $fixture = $("#qunit-fixture");
  977. $fixture.append('<input type="text" id="testmask" />');
  978. $("#testmask").inputmask("currency");
  979. $("#testmask")[0].focus();
  980. $("#testmask").click();
  981. setTimeout(function() {
  982. $("#testmask").Type("1234.56");
  983. $.caret($("#testmask"), 0, 7);
  984. $("#testmask").SendKey("1");
  985. start();
  986. equal($("#testmask")[0].inputmask._valueGet(), "$ 1.56", "Result " + $("#testmask")[0].inputmask._valueGet());
  987. $("#testmask").remove();
  988. }, 5);
  989. });
  990. asyncTest("currency alias - 123.56 => select integer press 1 - babupca", function() {
  991. var $fixture = $("#qunit-fixture");
  992. $fixture.append('<input type="text" id="testmask" />');
  993. $("#testmask").inputmask("currency");
  994. $("#testmask")[0].focus();
  995. $("#testmask").click();
  996. setTimeout(function() {
  997. $("#testmask").Type("123.56");
  998. $.caret($("#testmask"), 0, 5);
  999. $("#testmask").SendKey("1");
  1000. start();
  1001. equal($("#testmask")[0].inputmask._valueGet(), "$ 1.56", "Result " + $("#testmask")[0].inputmask._valueGet());
  1002. $("#testmask").remove();
  1003. }, 5);
  1004. });
  1005. asyncTest("currency alias - 123.56 => select integer press 1 - babupca", function() {
  1006. var $fixture = $("#qunit-fixture");
  1007. $fixture.append('<input type="text" id="testmask" />');
  1008. $("#testmask").inputmask("currency", {
  1009. prefix: "$"
  1010. });
  1011. $("#testmask")[0].focus();
  1012. $("#testmask").click();
  1013. setTimeout(function() {
  1014. $("#testmask").Type("123.56");
  1015. $.caret($("#testmask"), 0, 4);
  1016. $("#testmask").SendKey("1");
  1017. start();
  1018. equal($("#testmask")[0].inputmask._valueGet(), "$1.56", "Result " + $("#testmask")[0].inputmask._valueGet());
  1019. $("#testmask").remove();
  1020. }, 5);
  1021. });
  1022. asyncTest("currency alias - min 1000", function() {
  1023. var $fixture = $("#qunit-fixture");
  1024. $fixture.append('<input type="text" id="testmask" />');
  1025. $("#testmask").inputmask("currency", {
  1026. min: 1000
  1027. });
  1028. $("#testmask")[0].focus();
  1029. $("#testmask").blur();
  1030. setTimeout(function() {
  1031. start();
  1032. equal($("#testmask")[0].inputmask._valueGet(), "$ 1,000.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1033. $("#testmask").remove();
  1034. }, 5);
  1035. });
  1036. asyncTest("currency alias - max 1000 - type 1234", function() {
  1037. var $fixture = $("#qunit-fixture");
  1038. $fixture.append('<input type="text" id="testmask" />');
  1039. $("#testmask").inputmask("currency", {
  1040. max: 1000
  1041. });
  1042. $("#testmask")[0].focus();
  1043. $("#testmask").click();
  1044. setTimeout(function() {
  1045. $("#testmask").Type("1234");
  1046. start();
  1047. equal($("#testmask")[0].inputmask._valueGet(), "$ 123.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1048. $("#testmask").remove();
  1049. }, 5);
  1050. });
  1051. test("currency alias - type 1010 delete first 1 - FilipeZhou", function() {
  1052. var $fixture = $("#qunit-fixture");
  1053. $fixture.append('<input type="text" id="testmask" />');
  1054. $("#testmask").inputmask("currency");
  1055. $("#testmask")[0].focus();
  1056. $("#testmask").click();
  1057. $("#testmask").Type("1010");
  1058. $.caret($("#testmask"), 3);
  1059. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1060. equal($("#testmask")[0].inputmask._valueGet(), "$ 10.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1061. $("#testmask").remove();
  1062. });
  1063. test("currency alias - type 1010 delete middle 1 - FilipeZhou", function() {
  1064. var $fixture = $("#qunit-fixture");
  1065. $fixture.append('<input type="text" id="testmask" />');
  1066. $("#testmask").inputmask("currency");
  1067. $("#testmask")[0].focus();
  1068. $("#testmask").click();
  1069. $("#testmask").Type("1010");
  1070. $.caret($("#testmask"), 6);
  1071. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1072. equal($("#testmask")[0].inputmask._valueGet(), "$ 100.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1073. $("#testmask").remove();
  1074. });
  1075. test("currency alias - type -1234 delete -", function() {
  1076. var $fixture = $("#qunit-fixture");
  1077. $fixture.append('<input type="text" id="testmask" />');
  1078. $("#testmask").inputmask("currency");
  1079. $("#testmask")[0].focus();
  1080. $("#testmask").click();
  1081. $("#testmask").Type("-1234");
  1082. $.caret($("#testmask"), 0);
  1083. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  1084. equal($("#testmask")[0].inputmask._valueGet(), "$ 1,234.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1085. $("#testmask").remove();
  1086. });
  1087. test("decimal alias - type 12345.12 add 6 in front - freeze - DatXN", function() {
  1088. var $fixture = $("#qunit-fixture");
  1089. $fixture.append('<input type="text" id="testmask" />');
  1090. $("#testmask").inputmask("decimal", {
  1091. integerDigits: 5,
  1092. digits: 2,
  1093. allowMinus: false,
  1094. allowPlus: false
  1095. });
  1096. $("#testmask")[0].focus();
  1097. $("#testmask").click();
  1098. $("#testmask").Type("12345.12");
  1099. $.caret($("#testmask"), 0);
  1100. $("#testmask").SendKey("6");
  1101. equal($("#testmask")[0].inputmask._valueGet(), "12345.12", "Result " + $("#testmask")[0].inputmask._valueGet());
  1102. $("#testmask").remove();
  1103. });
  1104. test("decimal alias - type 123456789 - add , before 8 - jpontet", function() {
  1105. var $fixture = $("#qunit-fixture");
  1106. $fixture.append('<input type="text" id="testmask" />');
  1107. $("#testmask").inputmask("decimal", {
  1108. allowMinus: true,
  1109. integerDigits: 12,
  1110. digits: 2,
  1111. radixPoint: ",",
  1112. autoGroup: true,
  1113. groupSeparator: " ",
  1114. groupSize: 3,
  1115. rightAlign: false
  1116. });
  1117. $("#testmask")[0].focus();
  1118. $("#testmask").click();
  1119. $("#testmask").Type("123456789");
  1120. $.caret($("#testmask"), 9);
  1121. $("#testmask").SendKey(",");
  1122. equal($("#testmask")[0].inputmask._valueGet(), "1 234 567,89", "Result " + $("#testmask")[0].inputmask._valueGet());
  1123. $("#testmask").remove();
  1124. });
  1125. test("decimal alias - type 123456789 - add , before 8 - backspace - jpontet", function() {
  1126. var $fixture = $("#qunit-fixture");
  1127. $fixture.append('<input type="text" id="testmask" />');
  1128. $("#testmask").inputmask("decimal", {
  1129. allowMinus: true,
  1130. integerDigits: 12,
  1131. digits: 2,
  1132. radixPoint: ",",
  1133. autoGroup: true,
  1134. groupSeparator: " ",
  1135. groupSize: 3,
  1136. rightAlign: false
  1137. });
  1138. $("#testmask")[0].focus();
  1139. $("#testmask").click();
  1140. $("#testmask").Type("123456789");
  1141. $.caret($("#testmask"), 9);
  1142. $("#testmask").SendKey(",");
  1143. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1144. equal($("#testmask")[0].inputmask._valueGet(), "123 456,89", "Result " + $("#testmask")[0].inputmask._valueGet());
  1145. $("#testmask").remove();
  1146. });
  1147. test("decimal alias - type 1234567890 - add , before 9 - jpontet", function() {
  1148. var $fixture = $("#qunit-fixture");
  1149. $fixture.append('<input type="text" id="testmask" />');
  1150. $("#testmask").inputmask("decimal", {
  1151. allowMinus: true,
  1152. integerDigits: 12,
  1153. digits: 2,
  1154. radixPoint: ",",
  1155. autoGroup: true,
  1156. groupSeparator: " ",
  1157. groupSize: 3,
  1158. rightAlign: false
  1159. });
  1160. $("#testmask")[0].focus();
  1161. $("#testmask").click();
  1162. $("#testmask").Type("1234567890");
  1163. $.caret($("#testmask"), 11);
  1164. $("#testmask").SendKey(",");
  1165. equal($("#testmask")[0].inputmask._valueGet(), "12 345 678,90", "Result " + $("#testmask")[0].inputmask._valueGet());
  1166. $("#testmask").remove();
  1167. });
  1168. test("decimal alias - type 1234567890 - add , before 9 - backspace - jpontet", function() {
  1169. var $fixture = $("#qunit-fixture");
  1170. $fixture.append('<input type="text" id="testmask" />');
  1171. $("#testmask").inputmask("decimal", {
  1172. allowMinus: true,
  1173. integerDigits: 12,
  1174. digits: 2,
  1175. radixPoint: ",",
  1176. autoGroup: true,
  1177. groupSeparator: " ",
  1178. groupSize: 3,
  1179. rightAlign: false
  1180. });
  1181. $("#testmask")[0].focus();
  1182. $("#testmask").click();
  1183. $("#testmask").Type("1234567890");
  1184. $.caret($("#testmask"), 11);
  1185. $("#testmask").SendKey(",");
  1186. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1187. equal($("#testmask")[0].inputmask._valueGet(), "1 234 567,90", "Result " + $("#testmask")[0].inputmask._valueGet());
  1188. $("#testmask").remove();
  1189. });
  1190. test("numeric alias - value=\"-1234\" minvalue = 1000", function() {
  1191. var $fixture = $("#qunit-fixture");
  1192. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1193. $("#testmask").inputmask("numeric", {
  1194. allowMinus: true,
  1195. min: 1000,
  1196. max: 3000
  1197. });
  1198. equal($("#testmask")[0].inputmask._valueGet(), "1000", "Result " + $("#testmask")[0].inputmask._valueGet());
  1199. $("#testmask").remove();
  1200. });
  1201. test("numeric alias - value=\"-1234\" minvalue = -1000", function() {
  1202. var $fixture = $("#qunit-fixture");
  1203. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1204. $("#testmask").inputmask("numeric", {
  1205. allowMinus: true,
  1206. min: -1000,
  1207. max: 3000
  1208. });
  1209. equal($("#testmask")[0].inputmask._valueGet(), "-1000", "Result " + $("#testmask")[0].inputmask._valueGet());
  1210. $("#testmask").remove();
  1211. });
  1212. test("numeric alias - value=\"1000\" minvalue = 1000", function() {
  1213. var $fixture = $("#qunit-fixture");
  1214. $fixture.append('<input type="text" id="testmask" value="1000" />');
  1215. $("#testmask").inputmask("numeric", {
  1216. allowMinus: true,
  1217. min: 1000,
  1218. max: 3000
  1219. });
  1220. equal($("#testmask")[0].inputmask._valueGet(), "1000", "Result " + $("#testmask")[0].inputmask._valueGet());
  1221. $("#testmask").remove();
  1222. });
  1223. test("numeric alias - value=\"-1000\" minvalue = -1000", function() {
  1224. var $fixture = $("#qunit-fixture");
  1225. $fixture.append('<input type="text" id="testmask" value="-1000" />');
  1226. $("#testmask").inputmask("numeric", {
  1227. allowMinus: true,
  1228. min: -1000,
  1229. max: 3000
  1230. });
  1231. equal($("#testmask")[0].inputmask._valueGet(), "-1000", "Result " + $("#testmask")[0].inputmask._valueGet());
  1232. $("#testmask").remove();
  1233. });
  1234. test("decimal alias - overwrite decimal value - shahvaiz", function() {
  1235. var $fixture = $("#qunit-fixture");
  1236. $fixture.append('<input type="text" id="testmask" />');
  1237. $("#testmask").inputmask("decimal", {
  1238. autoGroup: true,
  1239. groupSeparator: ",",
  1240. suffix: '%'
  1241. });
  1242. $("#testmask").Type("123.123");
  1243. $.caret($("#testmask"), 4, 7);
  1244. $("#testmask").Type("4");
  1245. equal($("#testmask")[0].inputmask._valueGet(), "123.4%", "Result " + $("#testmask")[0].inputmask._valueGet());
  1246. $("#testmask").remove();
  1247. });
  1248. asyncTest("numeric alias - placeholder: \"_\" - lucafik", function() {
  1249. var $fixture = $("#qunit-fixture");
  1250. $fixture.append('<input type="text" id="testmask" />');
  1251. $("#testmask").inputmask("numeric", {
  1252. integerDigits: 2,
  1253. digits: 2,
  1254. placeholder: "_",
  1255. digitsOptional: false
  1256. });
  1257. $("#testmask")[0].focus();
  1258. $("#testmask").click();
  1259. setTimeout(function() {
  1260. $("#testmask").Type("12");
  1261. start();
  1262. equal($("#testmask")[0].inputmask._valueGet(), "12.__", "Result " + $("#testmask")[0].inputmask._valueGet());
  1263. $("#testmask").remove();
  1264. }, 0);
  1265. });