tests_numeric.js 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458
  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]._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").SendKey(inputmask.keyCode.RIGHT);
  491. $("#testmask").SendKey(inputmask.keyCode.RIGHT); //needed in test
  492. $("#testmask").SendKey(inputmask.keyCode.RIGHT); //needed in test
  493. $("#testmask").Type("45");
  494. equal($("#testmask").val(), "12345", "Result " + $("#testmask").val());
  495. $("#testmask").remove();
  496. });
  497. test("inputmask - Multiple inputs masked, Integer mask doesn't allow typing - #402 - albatrocity", function() {
  498. var $fixture = $("#qunit-fixture");
  499. $fixture.append('<input type="text" id="testmask" />');
  500. $fixture.append('<input type="text" id="testmask2" />');
  501. $("#testmask").inputmask("integer", {
  502. autoGroup: true,
  503. groupSeparator: ",",
  504. groupSize: 3
  505. });
  506. $("#testmask2").inputmask("(999)-999-9999");
  507. $("#testmask")[0].focus();
  508. $("#testmask").Type("12345");
  509. equal($("#testmask").val(), "12,345", "Result " + $("#testmask").val());
  510. $("#testmask").remove();
  511. $("#testmask2").remove();
  512. });
  513. test("decimal alias with groupseparator delete - YoussefTaghlabi", function() {
  514. var $fixture = $("#qunit-fixture");
  515. $fixture.append('<input type="text" id="testmask" />');
  516. $("#testmask").inputmask("decimal", {
  517. radixPoint: ".",
  518. groupSeparator: ",",
  519. groupSize: 3,
  520. digits: 2,
  521. autoGroup: true,
  522. allowPlus: false,
  523. allowMinus: true
  524. });
  525. $("#testmask")[0].focus();
  526. $("#testmask").Type("1234567");
  527. $.caret($("#testmask"), 0);
  528. $("#testmask").SendKey(inputmask.keyCode.DELETE);
  529. equal($("#testmask").val(), "234,567", "Result " + $("#testmask").val());
  530. $("#testmask").remove();
  531. });
  532. test("decimal alias with groupseparator backspace - YoussefTaghlabi", function() {
  533. var $fixture = $("#qunit-fixture");
  534. $fixture.append('<input type="text" id="testmask" />');
  535. $("#testmask").inputmask("decimal", {
  536. radixPoint: ".",
  537. groupSeparator: ",",
  538. groupSize: 3,
  539. digits: 2,
  540. autoGroup: true,
  541. allowPlus: false,
  542. allowMinus: true
  543. });
  544. $("#testmask")[0].focus();
  545. $("#testmask").Type("1234567");
  546. $.caret($("#testmask"), 1);
  547. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  548. equal($("#testmask").val(), "234,567", "Result " + $("#testmask").val());
  549. $("#testmask").remove();
  550. });
  551. test("decimal alias with plus or minus & autogroup - type -123456 - YoussefTaghlabi", function() {
  552. var $fixture = $("#qunit-fixture");
  553. $fixture.append('<input type="text" id="testmask" />');
  554. $("#testmask").inputmask("decimal", {
  555. radixPoint: ".",
  556. groupSeparator: ",",
  557. groupSize: 3,
  558. digits: 2,
  559. autoGroup: true,
  560. allowPlus: true,
  561. allowMinus: true
  562. });
  563. $("#testmask")[0].focus();
  564. $("#testmask").Type("-123456");
  565. equal($("#testmask").val(), "-123,456", "Result " + $("#testmask").val());
  566. $("#testmask").remove();
  567. });
  568. test("decimal alias with plus or minus & autogroup - type 123465 - - YoussefTaghlabi", function() {
  569. var $fixture = $("#qunit-fixture");
  570. $fixture.append('<input type="text" id="testmask" />');
  571. $("#testmask").inputmask("decimal", {
  572. radixPoint: ".",
  573. groupSeparator: ",",
  574. groupSize: 3,
  575. digits: 2,
  576. autoGroup: true,
  577. allowPlus: true,
  578. allowMinus: true
  579. });
  580. $("#testmask")[0].focus();
  581. $("#testmask").Type("123456");
  582. $.caret($("#testmask"), 0);
  583. $("#testmask").SendKey("-");
  584. equal($("#testmask").val(), "-123,456", "Result " + $("#testmask").val());
  585. $("#testmask").remove();
  586. });
  587. test("decimal alias with plus or minus & autogroup", function() {
  588. var $fixture = $("#qunit-fixture");
  589. $fixture.append('<input type="text" id="testmask" />');
  590. $("#testmask").inputmask("decimal", {
  591. radixPoint: ".",
  592. groupSeparator: ",",
  593. groupSize: 3,
  594. digits: 2,
  595. autoGroup: true,
  596. allowPlus: true,
  597. allowMinus: true
  598. });
  599. $("#testmask")[0].focus();
  600. $("#testmask").Type("1234.56");
  601. equal($("#testmask").val(), "1,234.56", "Result " + $("#testmask").val());
  602. $("#testmask").remove();
  603. });
  604. test("decimal alias set value with val() - kochelmonster", function() {
  605. var $fixture = $("#qunit-fixture");
  606. $fixture.append('<input type="text" id="testmask" />');
  607. $("#testmask").inputmask("decimal", {
  608. radixPoint: ",",
  609. groupSeparator: ".",
  610. digits: 2,
  611. autoGroup: true,
  612. suffix: ' €'
  613. });
  614. $("#testmask").val("39.399.392,22 €");
  615. equal($("#testmask").val(), "39.399.392,22 €", "Result " + $("#testmask").val());
  616. $("#testmask").remove();
  617. });
  618. asyncTest("inputmask(\"decimal\") - value=\"123.1\" blur digitsoptional", function() {
  619. var $fixture = $("#qunit-fixture");
  620. $fixture.append('<input type="text" id="testmask" />');
  621. $("#testmask").inputmask("decimal", {
  622. digits: 3
  623. });
  624. $("#testmask")[0].focus();
  625. $("#testmask").Type("123.1");
  626. $("#testmask").blur();
  627. setTimeout(function() {
  628. start();
  629. equal($("#testmask").val(), "123.1", "Result " + $("#testmask").val());
  630. $("#testmask").remove();
  631. }, 0);
  632. });
  633. asyncTest("inputmask(\"decimal\") - value=\"123.1\" blur", function() {
  634. var $fixture = $("#qunit-fixture");
  635. $fixture.append('<input type="text" id="testmask" />');
  636. $("#testmask").inputmask("decimal", {
  637. digits: 3,
  638. digitsOptional: false
  639. });
  640. $("#testmask")[0].focus();
  641. $("#testmask").Type("123.1");
  642. $("#testmask").blur();
  643. setTimeout(function() {
  644. start();
  645. equal($("#testmask").val(), "123.100", "Result " + $("#testmask").val());
  646. $("#testmask").remove();
  647. }, 0);
  648. });
  649. asyncTest("currency alias - 200000 => replace 2 to 3", function() {
  650. var $fixture = $("#qunit-fixture");
  651. $fixture.append('<input type="text" id="testmask" />');
  652. $("#testmask").inputmask("currency");
  653. $("#testmask")[0].focus();
  654. $("#testmask").click();
  655. setTimeout(function() {
  656. $("#testmask").Type("200000");
  657. $.caret($("#testmask"), 2, 3);
  658. $("#testmask").Type("3");
  659. start();
  660. equal($("#testmask").val(), "$ 300,000.00", "Result " + $("#testmask").val());
  661. $("#testmask").remove();
  662. }, 5);
  663. });
  664. asyncTest("inputmask(\"integer\") - -0 - laxmikantG", function() {
  665. var $fixture = $("#qunit-fixture");
  666. $fixture.append('<input type="text" id="testmask" />');
  667. $("#testmask").inputmask("integer", {
  668. placeholder: "0"
  669. });
  670. $("#testmask")[0].focus();
  671. $("#testmask").Type("-0");
  672. $("#testmask").blur();
  673. setTimeout(function() {
  674. start();
  675. equal($("#testmask").val(), "", "Result " + $("#testmask").val());
  676. $("#testmask").remove();
  677. }, 0);
  678. });
  679. test("inputmask(\"integer\") - 123- - laxmikantG", function() {
  680. var $fixture = $("#qunit-fixture");
  681. $fixture.append('<input type="text" id="testmask" />');
  682. $("#testmask").inputmask("integer", {
  683. placeholder: "0"
  684. });
  685. $("#testmask")[0].focus();
  686. $("#testmask").Type("123-");
  687. equal($("#testmask").val(), "-123", "Result " + $("#testmask").val());
  688. $("#testmask").remove();
  689. });
  690. test("inputmask(\"decimal\") - val(\"-5000,77\"); - ManRueda", function() {
  691. var $fixture = $("#qunit-fixture");
  692. $fixture.append('<input type="text" id="testmask" />');
  693. $("#testmask").inputmask('decimal', {
  694. integerDigits: 10,
  695. groupSeparator: '.',
  696. autoGroup: true,
  697. digits: 2,
  698. radixPoint: ',',
  699. groupSize: 3
  700. });
  701. $("#testmask").val("-5000,77");
  702. equal($("#testmask").val(), "-5.000,77", "Result " + $("#testmask").val());
  703. $("#testmask").remove();
  704. });
  705. test("inputmask(\"decimal\") - -0 - ManRueda", function() {
  706. var $fixture = $("#qunit-fixture");
  707. $fixture.append('<input type="text" id="testmask" />');
  708. $("#testmask").inputmask('decimal', {
  709. integerDigits: 10,
  710. groupSeparator: '.',
  711. autoGroup: true,
  712. digits: 2,
  713. radixPoint: ',',
  714. groupSize: 3
  715. });
  716. $("#testmask").val("-0");
  717. $("#testmask").blur();
  718. equal($("#testmask").val(), "0", "Result " + $("#testmask").val());
  719. $("#testmask").remove();
  720. });
  721. test("inputmask(\"integer\") - -5.000,77 - DrSammyD", function() {
  722. var $fixture = $("#qunit-fixture");
  723. $fixture.append('<input type="text" id="testmask" />');
  724. $("#testmask").inputmask('integer', {
  725. placeholder: "0"
  726. });
  727. $("#testmask").val("-5.000,77");
  728. $("#testmask").blur();
  729. equal($("#testmask").val(), "-5000", "Result " + $("#testmask").val());
  730. $("#testmask").remove();
  731. });
  732. asyncTest("inputmask(\"decimal\ placeholder :\"\" digitsoptional: false) - 123 - loostro", function() {
  733. var $fixture = $("#qunit-fixture");
  734. $fixture.append('<input type="text" id="testmask" value="0,00" />');
  735. $("#testmask").inputmask("decimal", {
  736. radixPoint: ",",
  737. digits: 2,
  738. digitsOptional: false,
  739. autoGroup: true,
  740. groupSeparator: " ",
  741. groupSize: 3,
  742. allowPlus: false,
  743. allowMinus: false,
  744. });
  745. $("#testmask")[0].focus();
  746. $("#testmask").click();
  747. $.caret($("#testmask"), 0);
  748. setTimeout(function() {
  749. $("#testmask").Type("123");
  750. start();
  751. equal($("#testmask").val(), "123,00", "Result " + $("#testmask").val());
  752. $("#testmask").remove();
  753. }, 5);
  754. });
  755. asyncTest("inputmask(\"decimal\ placeholder :\"0\" digitsoptional: false) - .12 - YodaJM", function() {
  756. var $fixture = $("#qunit-fixture");
  757. $fixture.append('<input type="text" id="testmask" />');
  758. $("#testmask").inputmask('decimal', {
  759. digits: 2,
  760. placeholder: "0",
  761. digitsOptional: false
  762. });
  763. $("#testmask")[0].focus();
  764. $.caret($("#testmask"), 0, 4);
  765. setTimeout(function() {
  766. $("#testmask").Type(".12");
  767. start();
  768. equal($("#testmask").val(), "0.12", "Result " + $("#testmask").val());
  769. $("#testmask").remove();
  770. }, 0);
  771. });
  772. test("inputmask(\"decimal\") - '8100000.00' - ManRueda", function() {
  773. var $fixture = $("#qunit-fixture");
  774. $fixture.append('<input type="text" id="testmask" />');
  775. $("#testmask").inputmask('decimal', {
  776. integerDigits: 6,
  777. groupSeparator: '.',
  778. autoGroup: true,
  779. digits: 2,
  780. radixPoint: ',',
  781. groupSize: 3
  782. });
  783. $("#testmask").val("8100000.00");
  784. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  785. $("#testmask").remove();
  786. });
  787. test("inputmask(\"decimal\") - '12345678.12' - ManRueda", function() {
  788. var $fixture = $("#qunit-fixture");
  789. $fixture.append('<input type="text" id="testmask" />');
  790. $("#testmask").inputmask('decimal', {
  791. integerDigits: 6,
  792. groupSeparator: '.',
  793. autoGroup: true,
  794. digits: 2,
  795. radixPoint: ',',
  796. groupSize: 3
  797. });
  798. $("#testmask").val("12345678.12");
  799. equal($("#testmask").val(), "123.456,12", "Result " + $("#testmask").val());
  800. $("#testmask").remove();
  801. });
  802. test("inputmask(\"decimal\") - '8100000,00' - ManRueda", function() {
  803. var $fixture = $("#qunit-fixture");
  804. $fixture.append('<input type="text" id="testmask" />');
  805. $("#testmask").inputmask('decimal', {
  806. integerDigits: 6,
  807. groupSeparator: '.',
  808. autoGroup: true,
  809. digits: 2,
  810. radixPoint: ',',
  811. groupSize: 3
  812. });
  813. $("#testmask").val("8100000,00");
  814. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  815. $("#testmask").remove();
  816. });
  817. test("inputmask(\"decimal\") - 8100000.00 - ManRueda", function() {
  818. var $fixture = $("#qunit-fixture");
  819. $fixture.append('<input type="text" id="testmask" />');
  820. $("#testmask").inputmask('decimal', {
  821. integerDigits: 6,
  822. groupSeparator: '.',
  823. autoGroup: true,
  824. digits: 2,
  825. radixPoint: ',',
  826. groupSize: 3
  827. });
  828. $("#testmask").val(8100000.00);
  829. equal($("#testmask").val(), "810.000", "Result " + $("#testmask").val());
  830. $("#testmask").remove();
  831. });
  832. test("inputmask(\"decimal\") - 8100000.00 digitsoptional false - ManRueda", function() {
  833. var $fixture = $("#qunit-fixture");
  834. $fixture.append('<input type="text" id="testmask" />');
  835. $("#testmask").inputmask('decimal', {
  836. integerDigits: 6,
  837. groupSeparator: '.',
  838. autoGroup: true,
  839. digits: 2,
  840. digitsOptional: false,
  841. radixPoint: ',',
  842. groupSize: 3
  843. });
  844. $("#testmask").val(8100000.00);
  845. $("#testmask").blur();
  846. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  847. $("#testmask").remove();
  848. });
  849. test("inputmask(\"decimal\") - 810000.00 - ManRueda", function() {
  850. var $fixture = $("#qunit-fixture");
  851. $fixture.append('<input type="text" id="testmask" />');
  852. $("#testmask").inputmask('decimal', {
  853. integerDigits: 6,
  854. groupSeparator: '.',
  855. autoGroup: true,
  856. digits: 2,
  857. radixPoint: ',',
  858. groupSize: 3
  859. });
  860. $("#testmask").val('810000.00');
  861. equal($("#testmask").val(), "810.000,00", "Result " + $("#testmask").val());
  862. $("#testmask").remove();
  863. });
  864. test("inputmask(\"decimal\") - 123456 78 - babupca", function() {
  865. var $fixture = $("#qunit-fixture");
  866. $fixture.append('<input type="text" id="testmask" />');
  867. $("#testmask").inputmask({
  868. alias: "decimal",
  869. integerDigits: 6,
  870. digits: 3,
  871. allowMinus: false,
  872. digitsOptional: false,
  873. placeholder: "0"
  874. });
  875. $("#testmask")[0].focus();
  876. $("#testmask").Type("123456");
  877. $.caret($("#testmask"), 8);
  878. $("#testmask").Type("78");
  879. $.caret($("#testmask"), 5);
  880. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  881. equal($("#testmask").val(), "12346.078", "Result " + $("#testmask").val());
  882. $("#testmask").remove();
  883. });
  884. asyncTest("currency alias - 1234 => del 1", function() {
  885. var $fixture = $("#qunit-fixture");
  886. $fixture.append('<input type="text" id="testmask" />');
  887. $("#testmask").inputmask("currency");
  888. $("#testmask")[0].focus();
  889. $("#testmask").click();
  890. setTimeout(function() {
  891. $("#testmask").Type("1234");
  892. $.caret($("#testmask"), 3);
  893. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  894. start();
  895. equal($("#testmask").val(), "$ 234.00", "Result " + $("#testmask").val());
  896. $("#testmask").remove();
  897. }, 5);
  898. });
  899. asyncTest("currency alias - 0.02 => type 1 in integer part", function() {
  900. var $fixture = $("#qunit-fixture");
  901. $fixture.append('<input type="text" id="testmask" />');
  902. $("#testmask").inputmask("currency");
  903. $("#testmask")[0].focus();
  904. $("#testmask").click();
  905. setTimeout(function() {
  906. $("#testmask").Type("0.02");
  907. $.caret($("#testmask"), 3);
  908. $("#testmask").SendKey("1");
  909. start();
  910. equal($("#testmask").val(), "$ 1.02", "Result " + $("#testmask").val());
  911. $("#testmask").remove();
  912. }, 5);
  913. });
  914. asyncTest("currency alias - 0.02 => position before 0 type 1 in integer part", function() {
  915. var $fixture = $("#qunit-fixture");
  916. $fixture.append('<input type="text" id="testmask" />');
  917. $("#testmask").inputmask("currency");
  918. $("#testmask")[0].focus();
  919. $("#testmask").click();
  920. setTimeout(function() {
  921. $("#testmask").Type("0.02");
  922. $.caret($("#testmask"), 2);
  923. $("#testmask").SendKey("1");
  924. start();
  925. equal($("#testmask").val(), "$ 10.02", "Result " + $("#testmask").val());
  926. $("#testmask").remove();
  927. }, 5);
  928. });
  929. asyncTest("currency alias - 1.23 => del 1 in integer part", function() {
  930. var $fixture = $("#qunit-fixture");
  931. $fixture.append('<input type="text" id="testmask" />');
  932. $("#testmask").inputmask("currency");
  933. $("#testmask")[0].focus();
  934. $("#testmask").click();
  935. setTimeout(function() {
  936. $("#testmask").Type("1.23");
  937. $.caret($("#testmask"), 3);
  938. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  939. start();
  940. equal($("#testmask").val(), "$ 0.23", "Result " + $("#testmask").val());
  941. $("#testmask").remove();
  942. }, 5);
  943. });
  944. asyncTest("currency alias - 1234.56 => delete all", function() {
  945. var $fixture = $("#qunit-fixture");
  946. $fixture.append('<input type="text" id="testmask" />');
  947. $("#testmask").inputmask("currency");
  948. $("#testmask")[0].focus();
  949. $("#testmask").click();
  950. setTimeout(function() {
  951. $("#testmask").Type("1234.56");
  952. $.caret($("#testmask"), 0, 10);
  953. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  954. start();
  955. equal($("#testmask")[0]._valueGet(), "$ 0.00", "Result " + $("#testmask")[0]._valueGet());
  956. $("#testmask").remove();
  957. }, 5);
  958. });
  959. asyncTest("numeric prefix='$' - paste 1234.56 - baileyjames9 & TheAndyBob", function() {
  960. var $fixture = $("#qunit-fixture");
  961. $fixture.append('<input type="text" id="testmask" />');
  962. $("#testmask").inputmask("numeric", {
  963. radixPoint: ".",
  964. groupSeparator: ",",
  965. digits: 2,
  966. autoGroup: true,
  967. prefix: '$' //No Space, this will truncate the first character
  968. });
  969. $("#testmask")[0].focus();
  970. $("#testmask").click();
  971. setTimeout(function() {
  972. $("#testmask").paste("1234.56");
  973. start();
  974. equal($("#testmask").val(), "$1,234.56", "Result " + $("#testmask").val());
  975. $("#testmask").remove();
  976. }, 5);
  977. });
  978. asyncTest("currency alias - 1234.56 => select integer press 1 - babupca", function() {
  979. var $fixture = $("#qunit-fixture");
  980. $fixture.append('<input type="text" id="testmask" />');
  981. $("#testmask").inputmask("currency");
  982. $("#testmask")[0].focus();
  983. $("#testmask").click();
  984. setTimeout(function() {
  985. $("#testmask").Type("1234.56");
  986. $.caret($("#testmask"), 0, 7);
  987. $("#testmask").SendKey("1");
  988. start();
  989. equal($("#testmask")[0]._valueGet(), "$ 1.56", "Result " + $("#testmask")[0]._valueGet());
  990. $("#testmask").remove();
  991. }, 5);
  992. });
  993. asyncTest("currency alias - 123.56 => select integer press 1 - babupca", function() {
  994. var $fixture = $("#qunit-fixture");
  995. $fixture.append('<input type="text" id="testmask" />');
  996. $("#testmask").inputmask("currency");
  997. $("#testmask")[0].focus();
  998. $("#testmask").click();
  999. setTimeout(function() {
  1000. $("#testmask").Type("123.56");
  1001. $.caret($("#testmask"), 0, 5);
  1002. $("#testmask").SendKey("1");
  1003. start();
  1004. equal($("#testmask")[0]._valueGet(), "$ 1.56", "Result " + $("#testmask")[0]._valueGet());
  1005. $("#testmask").remove();
  1006. }, 5);
  1007. });
  1008. asyncTest("currency alias - 123.56 => select integer press 1 - babupca", function() {
  1009. var $fixture = $("#qunit-fixture");
  1010. $fixture.append('<input type="text" id="testmask" />');
  1011. $("#testmask").inputmask("currency", {
  1012. prefix: "$"
  1013. });
  1014. $("#testmask")[0].focus();
  1015. $("#testmask").click();
  1016. setTimeout(function() {
  1017. $("#testmask").Type("123.56");
  1018. $.caret($("#testmask"), 0, 4);
  1019. $("#testmask").SendKey("1");
  1020. start();
  1021. equal($("#testmask")[0]._valueGet(), "$1.56", "Result " + $("#testmask")[0]._valueGet());
  1022. $("#testmask").remove();
  1023. }, 5);
  1024. });
  1025. asyncTest("currency alias - min 1000", function() {
  1026. var $fixture = $("#qunit-fixture");
  1027. $fixture.append('<input type="text" id="testmask" />');
  1028. $("#testmask").inputmask("currency", {
  1029. min: 1000
  1030. });
  1031. $("#testmask")[0].focus();
  1032. $("#testmask").blur();
  1033. setTimeout(function() {
  1034. start();
  1035. equal($("#testmask")[0]._valueGet(), "$ 1,000.00", "Result " + $("#testmask")[0]._valueGet());
  1036. $("#testmask").remove();
  1037. }, 5);
  1038. });
  1039. asyncTest("currency alias - max 1000 - type 1234", function() {
  1040. var $fixture = $("#qunit-fixture");
  1041. $fixture.append('<input type="text" id="testmask" />');
  1042. $("#testmask").inputmask("currency", {
  1043. max: 1000
  1044. });
  1045. $("#testmask")[0].focus();
  1046. $("#testmask").click();
  1047. setTimeout(function() {
  1048. $("#testmask").Type("1234");
  1049. start();
  1050. equal($("#testmask")[0]._valueGet(), "$ 123.00", "Result " + $("#testmask")[0]._valueGet());
  1051. $("#testmask").remove();
  1052. }, 5);
  1053. });
  1054. test("currency alias - type 1010 delete first 1 - FilipeZhou", function() {
  1055. var $fixture = $("#qunit-fixture");
  1056. $fixture.append('<input type="text" id="testmask" />');
  1057. $("#testmask").inputmask("currency");
  1058. $("#testmask")[0].focus();
  1059. $("#testmask").click();
  1060. $("#testmask").Type("1010");
  1061. $.caret($("#testmask"), 3);
  1062. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  1063. equal($("#testmask")[0]._valueGet(), "$ 10.00", "Result " + $("#testmask")[0]._valueGet());
  1064. $("#testmask").remove();
  1065. });
  1066. test("currency alias - type 1010 delete middle 1 - FilipeZhou", function() {
  1067. var $fixture = $("#qunit-fixture");
  1068. $fixture.append('<input type="text" id="testmask" />');
  1069. $("#testmask").inputmask("currency");
  1070. $("#testmask")[0].focus();
  1071. $("#testmask").click();
  1072. $("#testmask").Type("1010");
  1073. $.caret($("#testmask"), 6);
  1074. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  1075. equal($("#testmask")[0]._valueGet(), "$ 100.00", "Result " + $("#testmask")[0]._valueGet());
  1076. $("#testmask").remove();
  1077. });
  1078. test("currency alias - type -1234 delete -", function() {
  1079. var $fixture = $("#qunit-fixture");
  1080. $fixture.append('<input type="text" id="testmask" />');
  1081. $("#testmask").inputmask("currency");
  1082. $("#testmask")[0].focus();
  1083. $("#testmask").click();
  1084. $("#testmask").Type("-1234");
  1085. $.caret($("#testmask"), 0);
  1086. $("#testmask").SendKey(inputmask.keyCode.DELETE);
  1087. equal($("#testmask")[0]._valueGet(), "$ 1,234.00", "Result " + $("#testmask")[0]._valueGet());
  1088. $("#testmask").remove();
  1089. });
  1090. test("decimal alias - type 12345.12 add 6 in front - freeze - DatXN", function() {
  1091. var $fixture = $("#qunit-fixture");
  1092. $fixture.append('<input type="text" id="testmask" />');
  1093. $("#testmask").inputmask("decimal", {
  1094. integerDigits: 5,
  1095. digits: 2,
  1096. allowMinus: false,
  1097. allowPlus: false
  1098. });
  1099. $("#testmask")[0].focus();
  1100. $("#testmask").click();
  1101. $("#testmask").Type("12345.12");
  1102. $.caret($("#testmask"), 0);
  1103. $("#testmask").SendKey("6");
  1104. equal($("#testmask")[0]._valueGet(), "12345.12", "Result " + $("#testmask")[0]._valueGet());
  1105. $("#testmask").remove();
  1106. });
  1107. test("decimal alias - type 123456789 - add , before 8 - jpontet", function() {
  1108. var $fixture = $("#qunit-fixture");
  1109. $fixture.append('<input type="text" id="testmask" />');
  1110. $("#testmask").inputmask("decimal", {
  1111. allowMinus: true,
  1112. integerDigits: 12,
  1113. digits: 2,
  1114. radixPoint: ",",
  1115. autoGroup: true,
  1116. groupSeparator: " ",
  1117. groupSize: 3,
  1118. rightAlign: false
  1119. });
  1120. $("#testmask")[0].focus();
  1121. $("#testmask").click();
  1122. $("#testmask").Type("123456789");
  1123. $.caret($("#testmask"), 9);
  1124. $("#testmask").SendKey(",");
  1125. equal($("#testmask")[0]._valueGet(), "1 234 567,89", "Result " + $("#testmask")[0]._valueGet());
  1126. $("#testmask").remove();
  1127. });
  1128. test("decimal alias - type 123456789 - add , before 8 - backspace - jpontet", function() {
  1129. var $fixture = $("#qunit-fixture");
  1130. $fixture.append('<input type="text" id="testmask" />');
  1131. $("#testmask").inputmask("decimal", {
  1132. allowMinus: true,
  1133. integerDigits: 12,
  1134. digits: 2,
  1135. radixPoint: ",",
  1136. autoGroup: true,
  1137. groupSeparator: " ",
  1138. groupSize: 3,
  1139. rightAlign: false
  1140. });
  1141. $("#testmask")[0].focus();
  1142. $("#testmask").click();
  1143. $("#testmask").Type("123456789");
  1144. $.caret($("#testmask"), 9);
  1145. $("#testmask").SendKey(",");
  1146. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  1147. equal($("#testmask")[0]._valueGet(), "123 456,89", "Result " + $("#testmask")[0]._valueGet());
  1148. $("#testmask").remove();
  1149. });
  1150. test("decimal alias - type 1234567890 - add , before 9 - jpontet", function() {
  1151. var $fixture = $("#qunit-fixture");
  1152. $fixture.append('<input type="text" id="testmask" />');
  1153. $("#testmask").inputmask("decimal", {
  1154. allowMinus: true,
  1155. integerDigits: 12,
  1156. digits: 2,
  1157. radixPoint: ",",
  1158. autoGroup: true,
  1159. groupSeparator: " ",
  1160. groupSize: 3,
  1161. rightAlign: false
  1162. });
  1163. $("#testmask")[0].focus();
  1164. $("#testmask").click();
  1165. $("#testmask").Type("1234567890");
  1166. $.caret($("#testmask"), 11);
  1167. $("#testmask").SendKey(",");
  1168. equal($("#testmask")[0]._valueGet(), "12 345 678,90", "Result " + $("#testmask")[0]._valueGet());
  1169. $("#testmask").remove();
  1170. });
  1171. test("decimal alias - type 1234567890 - add , before 9 - backspace - jpontet", function() {
  1172. var $fixture = $("#qunit-fixture");
  1173. $fixture.append('<input type="text" id="testmask" />');
  1174. $("#testmask").inputmask("decimal", {
  1175. allowMinus: true,
  1176. integerDigits: 12,
  1177. digits: 2,
  1178. radixPoint: ",",
  1179. autoGroup: true,
  1180. groupSeparator: " ",
  1181. groupSize: 3,
  1182. rightAlign: false
  1183. });
  1184. $("#testmask")[0].focus();
  1185. $("#testmask").click();
  1186. $("#testmask").Type("1234567890");
  1187. $.caret($("#testmask"), 11);
  1188. $("#testmask").SendKey(",");
  1189. $("#testmask").SendKey(inputmask.keyCode.BACKSPACE);
  1190. equal($("#testmask")[0]._valueGet(), "1 234 567,90", "Result " + $("#testmask")[0]._valueGet());
  1191. $("#testmask").remove();
  1192. });
  1193. test("numeric alias - value=\"-1234\" minvalue = 1000", function() {
  1194. var $fixture = $("#qunit-fixture");
  1195. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1196. $("#testmask").inputmask("numeric", {
  1197. allowMinus: true,
  1198. min: 1000,
  1199. max: 3000
  1200. });
  1201. equal($("#testmask")[0]._valueGet(), "1000", "Result " + $("#testmask")[0]._valueGet());
  1202. $("#testmask").remove();
  1203. });
  1204. test("numeric alias - value=\"-1234\" minvalue = -1000", function() {
  1205. var $fixture = $("#qunit-fixture");
  1206. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1207. $("#testmask").inputmask("numeric", {
  1208. allowMinus: true,
  1209. min: -1000,
  1210. max: 3000
  1211. });
  1212. equal($("#testmask")[0]._valueGet(), "-1000", "Result " + $("#testmask")[0]._valueGet());
  1213. $("#testmask").remove();
  1214. });
  1215. test("numeric alias - value=\"1000\" minvalue = 1000", function() {
  1216. var $fixture = $("#qunit-fixture");
  1217. $fixture.append('<input type="text" id="testmask" value="1000" />');
  1218. $("#testmask").inputmask("numeric", {
  1219. allowMinus: true,
  1220. min: 1000,
  1221. max: 3000
  1222. });
  1223. equal($("#testmask")[0]._valueGet(), "1000", "Result " + $("#testmask")[0]._valueGet());
  1224. $("#testmask").remove();
  1225. });
  1226. test("numeric alias - value=\"-1000\" minvalue = -1000", function() {
  1227. var $fixture = $("#qunit-fixture");
  1228. $fixture.append('<input type="text" id="testmask" value="-1000" />');
  1229. $("#testmask").inputmask("numeric", {
  1230. allowMinus: true,
  1231. min: -1000,
  1232. max: 3000
  1233. });
  1234. equal($("#testmask")[0]._valueGet(), "-1000", "Result " + $("#testmask")[0]._valueGet());
  1235. $("#testmask").remove();
  1236. });