tests_numeric.js 43 KB

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