tests_numeric.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  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").val(), "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(keyCodes.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", { prefix: "€ " });
  234. $("#testmask")[0].focus();
  235. $("#testmask").Type("12345.12");
  236. equal($("#testmask").val(), "€ 12345.12", "Result " + $("#testmask").val());
  237. $("#testmask").remove();
  238. });
  239. test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123", function () {
  240. var $fixture = $("#qunit-fixture");
  241. $fixture.append('<input type="text" id="testmask" />');
  242. $("#testmask").inputmask("decimal", { autoGroup: true, groupSeparator: "," });
  243. $("#testmask")[0].focus();
  244. $("#testmask").SendKey("1");
  245. $("#testmask").SendKey("2");
  246. $("#testmask").SendKey("3");
  247. $("#testmask").SendKey("4");
  248. $("#testmask").SendKey("5");
  249. $("#testmask").SendKey(".");
  250. $("#testmask").SendKey("1");
  251. $("#testmask").SendKey("2");
  252. $("#testmask").SendKey("3");
  253. equal($("#testmask").val(), "12,345.123", "Result " + $("#testmask").val());
  254. $("#testmask").remove();
  255. });
  256. test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123 + remove .123", function () {
  257. var $fixture = $("#qunit-fixture");
  258. $fixture.append('<input type="text" id="testmask" />');
  259. $("#testmask").inputmask("decimal", { autoGroup: true, groupSeparator: "," });
  260. $("#testmask")[0].focus();
  261. $("#testmask").Type("12345.123");
  262. $("#testmask").SendKey(keyCodes.BACKSPACE);
  263. $("#testmask").SendKey(keyCodes.BACKSPACE);
  264. $("#testmask").SendKey(keyCodes.BACKSPACE);
  265. $("#testmask").SendKey(keyCodes.BACKSPACE);
  266. equal($("#testmask").val(), "12,345", "Result " + $("#testmask").val());
  267. $("#testmask").remove();
  268. });
  269. test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123 + replace .123 => .789", function () {
  270. var $fixture = $("#qunit-fixture");
  271. $fixture.append('<input type="text" id="testmask" />');
  272. $("#testmask").inputmask("decimal", { autoGroup: true, groupSeparator: "," });
  273. $("#testmask")[0].focus();
  274. $("#testmask").Type("12345.123");
  275. $("#testmask").SendKey(keyCodes.LEFT);
  276. $("#testmask").SendKey(keyCodes.LEFT);
  277. $("#testmask").SendKey(keyCodes.LEFT);
  278. $("#testmask").SendKey(keyCodes.DELETE);
  279. $("#testmask").SendKey(keyCodes.DELETE);
  280. $("#testmask").SendKey(keyCodes.DELETE);
  281. $("#testmask").Type(".789");
  282. equal($("#testmask").val(), "12,345.789", "Result " + $("#testmask").val());
  283. $("#testmask").remove();
  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", { autoGroup: true, groupSeparator: "," });
  289. $("#testmask")[0].focus();
  290. $("#testmask").Type("12345.123");
  291. //$("#testmask").click();
  292. caret($("#testmask"), 6, 10);
  293. $("#testmask").Type(".789");
  294. equal($("#testmask").val(), "12,345.789", "Result " + $("#testmask").val());
  295. $("#testmask").remove();
  296. });
  297. test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\" }\") - input 12345.123 + remove .123", function () {
  298. var $fixture = $("#qunit-fixture");
  299. $fixture.append('<input type="text" id="testmask" />');
  300. $("#testmask").inputmask("decimal", { autoGroup: false, groupSeparator: "," });
  301. $("#testmask")[0].focus();
  302. $("#testmask").Type("12345.123");
  303. //$("#testmask").click();
  304. $("#testmask").SendKey(keyCodes.LEFT);
  305. $("#testmask").SendKey(keyCodes.LEFT);
  306. $("#testmask").SendKey(keyCodes.LEFT);
  307. $("#testmask").SendKey(keyCodes.LEFT);
  308. $("#testmask").SendKey(keyCodes.DELETE);
  309. $("#testmask").SendKey(keyCodes.DELETE);
  310. $("#testmask").SendKey(keyCodes.DELETE);
  311. $("#testmask").SendKey(keyCodes.DELETE);
  312. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  313. $("#testmask").remove();
  314. });
  315. test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\" }\") - input 12345.123 + replace .123 => .789", function () {
  316. var $fixture = $("#qunit-fixture");
  317. $fixture.append('<input type="text" id="testmask" />');
  318. $("#testmask").inputmask("decimal", { autoGroup: false, groupSeparator: "," });
  319. $("#testmask")[0].focus();
  320. $("#testmask").Type("12345.123");
  321. $("#testmask").SendKey(keyCodes.LEFT);
  322. $("#testmask").SendKey(keyCodes.LEFT);
  323. $("#testmask").SendKey(keyCodes.LEFT);
  324. $("#testmask").SendKey(keyCodes.LEFT);
  325. $("#testmask").SendKey(keyCodes.DELETE);
  326. $("#testmask").SendKey(keyCodes.DELETE);
  327. $("#testmask").SendKey(keyCodes.DELETE);
  328. $("#testmask").SendKey(keyCodes.DELETE);
  329. $("#testmask").Type(".789");
  330. equal($("#testmask").val(), "12345.789", "Result " + $("#testmask").val());
  331. $("#testmask").remove();
  332. });
  333. test("inputmask(\"decimal\") - maxlength 10", function () {
  334. var $fixture = $("#qunit-fixture");
  335. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  336. $("#testmask").inputmask("decimal");
  337. $("#testmask")[0].focus();
  338. $("#testmask").Type("123456789012345");
  339. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  340. $("#testmask").remove();
  341. });
  342. test("inputmask(\"decimal, { repeat: 15 }\") - maxlength 10", function () {
  343. var $fixture = $("#qunit-fixture");
  344. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  345. $("#testmask").inputmask("decimal", { repeat: 15 });
  346. $("#testmask")[0].focus();
  347. $("#testmask").Type("123456789012345");
  348. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  349. $("#testmask").remove();
  350. });
  351. test("inputmask(\"decimal, { repeat: 5 }\") - maxlength 10", function () {
  352. var $fixture = $("#qunit-fixture");
  353. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  354. $("#testmask").inputmask("decimal", { repeat: 5 });
  355. $("#testmask")[0].focus();
  356. $("#testmask").Type("123456789012345");
  357. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  358. $("#testmask").remove();
  359. });
  360. test("inputmask(\"decimal\")", function () {
  361. var $fixture = $("#qunit-fixture");
  362. $fixture.append('<input type="text" id="testmask" />');
  363. $("#testmask").inputmask("decimal");
  364. $("#testmask")[0].focus();
  365. $("#testmask").Type("1234567890");
  366. caret($("#testmask"), 0, 10);
  367. $("#testmask").Type("12345");
  368. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  369. $("#testmask").remove();
  370. });
  371. test("inputmask(\"decimal\") - value=\"1234567890\"", function () {
  372. var $fixture = $("#qunit-fixture");
  373. $fixture.append('<input type="text" id="testmask" value="1234567890" />');
  374. $("#testmask").inputmask("decimal");
  375. $("#testmask")[0].focus();
  376. caret($("#testmask"), 0, 10);
  377. $("#testmask").Type("12345");
  378. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  379. $("#testmask").remove();
  380. });
  381. test("inputmask(\"decimal\")", function () {
  382. var $fixture = $("#qunit-fixture");
  383. $fixture.append('<input type="text" id="testmask" />');
  384. $("#testmask").inputmask("decimal");
  385. $("#testmask")[0].focus();
  386. $("#testmask").Type("1234567890");
  387. caret($("#testmask"), 3, 5);
  388. $("#testmask").SendKey("0");
  389. equal($("#testmask").val(), "123067890", "Result " + $("#testmask").val());
  390. $("#testmask").remove();
  391. });
  392. test("inputmask(\"decimal\") - value=\"1234567890\"", function () {
  393. var $fixture = $("#qunit-fixture");
  394. $fixture.append('<input type="text" id="testmask" value="1234567890" />');
  395. $("#testmask").inputmask("decimal");
  396. $("#testmask")[0].focus();
  397. caret($("#testmask"), 3, 5);
  398. $("#testmask").SendKey("0");
  399. equal($("#testmask").val(), "123067890", "Result " + $("#testmask").val());
  400. $("#testmask").remove();
  401. });
  402. test("inputmask(\"decimal\") - value=\"123.45\" Replace last integer", function () {
  403. var $fixture = $("#qunit-fixture");
  404. $fixture.append('<input type="text" id="testmask" />');
  405. $("#testmask").inputmask("decimal", { digits: 2 });
  406. $("#testmask")[0].focus();
  407. $("#testmask").Type("123.45");
  408. caret($("#testmask"), 2, 3);
  409. $("#testmask").SendKey("7");
  410. equal($("#testmask").val(), "127.45", "Result " + $("#testmask").val());
  411. $("#testmask").remove();
  412. });
  413. test("inputmask(\"decimal\", { digits: 2 }) - value=\"123\" - RomeroMsk", function () {
  414. var $fixture = $("#qunit-fixture");
  415. $fixture.append('<input type="text" id="testmask" />');
  416. $("#testmask").inputmask("decimal", { digits: 2 });
  417. $("#testmask")[0].focus();
  418. $("#testmask").Type("123");
  419. caret($("#testmask"), 0, 3);
  420. $("#testmask").SendKey(",,..");
  421. $("#testmask").SendKey(keyCodes.RIGHT);
  422. $("#testmask").SendKey(keyCodes.RIGHT); //needed in test
  423. $("#testmask").SendKey(keyCodes.RIGHT); //needed in test
  424. $("#testmask").Type("45");
  425. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  426. $("#testmask").remove();
  427. });
  428. test("inputmask - Multiple inputs masked, Integer mask doesn't allow typing - #402 - albatrocity", function () {
  429. var $fixture = $("#qunit-fixture");
  430. $fixture.append('<input type="text" id="testmask" />');
  431. $fixture.append('<input type="text" id="testmask2" />');
  432. $("#testmask").inputmask("integer", {
  433. autoGroup: true,
  434. groupSeparator: ",",
  435. groupSize: 3
  436. });
  437. $("#testmask2").inputmask("(999)-999-9999");
  438. $("#testmask")[0].focus();
  439. $("#testmask").Type("12345");
  440. equal($("#testmask").val(), "12,345", "Result " + $("#testmask").val());
  441. $("#testmask").remove();
  442. $("#testmask2").remove();
  443. });
  444. test("decimal alias with groupseparator delete - YoussefTaghlabi", function () {
  445. var $fixture = $("#qunit-fixture");
  446. $fixture.append('<input type="text" id="testmask" />');
  447. $("#testmask").inputmask("decimal", {
  448. radixPoint: ".",
  449. groupSeparator: ",",
  450. groupSize: 3,
  451. digits: 2,
  452. autoGroup: true,
  453. allowPlus: false,
  454. allowMinus: true
  455. });
  456. $("#testmask")[0].focus();
  457. $("#testmask").Type("1234567");
  458. caret($("#testmask"), 0);
  459. $("#testmask").SendKey(keyCodes.DELETE);
  460. equal($("#testmask").val(), "234,567", "Result " + $("#testmask").val());
  461. $("#testmask").remove();
  462. });
  463. test("decimal alias with groupseparator backspace - YoussefTaghlabi", function () {
  464. var $fixture = $("#qunit-fixture");
  465. $fixture.append('<input type="text" id="testmask" />');
  466. $("#testmask").inputmask("decimal", {
  467. radixPoint: ".",
  468. groupSeparator: ",",
  469. groupSize: 3,
  470. digits: 2,
  471. autoGroup: true,
  472. allowPlus: false,
  473. allowMinus: true
  474. });
  475. $("#testmask")[0].focus();
  476. $("#testmask").Type("1234567");
  477. caret($("#testmask"), 1);
  478. $("#testmask").SendKey(keyCodes.BACKSPACE);
  479. equal($("#testmask").val(), "234,567", "Result " + $("#testmask").val());
  480. $("#testmask").remove();
  481. });
  482. test("decimal alias with plus or minus & autogroup - type -123456 - YoussefTaghlabi", function () {
  483. var $fixture = $("#qunit-fixture");
  484. $fixture.append('<input type="text" id="testmask" />');
  485. $("#testmask").inputmask("decimal", {
  486. radixPoint: ".",
  487. groupSeparator: ",",
  488. groupSize: 3,
  489. digits: 2,
  490. autoGroup: true,
  491. allowPlus: true,
  492. allowMinus: true
  493. });
  494. $("#testmask")[0].focus();
  495. $("#testmask").Type("-123456");
  496. equal($("#testmask").val(), "-123,456", "Result " + $("#testmask").val());
  497. $("#testmask").remove();
  498. });
  499. test("decimal alias with plus or minus & autogroup - type 123465 - - YoussefTaghlabi", function () {
  500. var $fixture = $("#qunit-fixture");
  501. $fixture.append('<input type="text" id="testmask" />');
  502. $("#testmask").inputmask("decimal", {
  503. radixPoint: ".",
  504. groupSeparator: ",",
  505. groupSize: 3,
  506. digits: 2,
  507. autoGroup: true,
  508. allowPlus: true,
  509. allowMinus: true
  510. });
  511. $("#testmask")[0].focus();
  512. $("#testmask").Type("123456");
  513. caret($("#testmask"), 0);
  514. $("#testmask").SendKey("-");
  515. equal($("#testmask").val(), "-123,456", "Result " + $("#testmask").val());
  516. $("#testmask").remove();
  517. });
  518. test("decimal alias with plus or minus & autogroup", function () {
  519. var $fixture = $("#qunit-fixture");
  520. $fixture.append('<input type="text" id="testmask" />');
  521. $("#testmask").inputmask("decimal", {
  522. radixPoint: ".",
  523. groupSeparator: ",",
  524. groupSize: 3,
  525. digits: 2,
  526. autoGroup: true,
  527. allowPlus: true,
  528. allowMinus: true
  529. });
  530. $("#testmask")[0].focus();
  531. $("#testmask").Type("1234.56");
  532. equal($("#testmask").val(), "1,234.56", "Result " + $("#testmask").val());
  533. $("#testmask").remove();
  534. });
  535. test("decimal alias set value with val() - kochelmonster", function () {
  536. var $fixture = $("#qunit-fixture");
  537. $fixture.append('<input type="text" id="testmask" />');
  538. $("#testmask").inputmask("decimal", {
  539. radixPoint: ",",
  540. groupSeparator: ".",
  541. digits: 2,
  542. autoGroup: true,
  543. suffix: ' €'
  544. });
  545. $("#testmask").val("39.399.392,22 €");
  546. equal($("#testmask").val(), "39.399.392,22 €", "Result " + $("#testmask").val());
  547. $("#testmask").remove();
  548. });
  549. test("inputmask(\"decimal\") - value=\"123.1\" tab out", function () {
  550. var $fixture = $("#qunit-fixture");
  551. $fixture.append('<input type="text" id="testmask" />');
  552. $("#testmask").inputmask("decimal", { digits: 3 });
  553. $("#testmask")[0].focus();
  554. $("#testmask").Type("123.1");
  555. $("#testmask").SendKey(keyCodes.TAB);
  556. equal($("#testmask").val(), "123.100", "Result " + $("#testmask").val());
  557. $("#testmask").remove();
  558. });