tests_numeric.js 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911
  1. define([
  2. "qunit",
  3. "inputmask.dependencyLib",
  4. "inputmask",
  5. "../dist/inputmask/inputmask.date.extensions",
  6. "../dist/inputmask/inputmask.extensions",
  7. "../dist/inputmask/inputmask.numeric.extensions",
  8. "../dist/inputmask/inputmask.phone.extensions",
  9. "../dist/inputmask/inputmask.regex.extensions",
  10. "prototypeExtensions",
  11. "simulator"
  12. ], function (qunit, $, Inputmask) {
  13. qunit.module("Numeric.Extensions");
  14. qunit.test("€ Currency precision 2", function (assert) {
  15. var done = assert.async(),
  16. $fixture = $("#qunit-fixture");
  17. $fixture.append('<input type="text" id="testmask" />');
  18. var testmask = document.getElementById("testmask");
  19. Inputmask("numeric", {
  20. groupSeparator: ",",
  21. placeholder: "0",
  22. autoGroup: true,
  23. digits: 2,
  24. digitsOptional: false,
  25. prefix: "€ "
  26. }).mask(testmask);
  27. testmask.focus();
  28. $("#testmask").trigger("click");
  29. setTimeout(function () {
  30. $("#testmask").Type("1234");
  31. assert.equal(testmask.value, "€ 1,234.00", "Result " + testmask.value);
  32. done();
  33. }, 0);
  34. });
  35. qunit.test("integer type 124 correct to 1234", function (assert) {
  36. var $fixture = $("#qunit-fixture");
  37. $fixture.append('<input type="text" id="testmask" />');
  38. var testmask = document.getElementById("testmask");
  39. Inputmask("numeric", {
  40. groupSeparator: ",",
  41. autoGroup: true
  42. }).mask(testmask);
  43. testmask.focus();
  44. $("#testmask").Type("124");
  45. $.caret(testmask, 2);
  46. $("#testmask").Type("3");
  47. assert.equal(testmask.value, "1,234", "Result " + testmask.value);
  48. });
  49. qunit.test("numeric type 00000 - Webunity", function (assert) {
  50. var $fixture = $("#qunit-fixture");
  51. $fixture.append('<input type="text" id="testmask" />');
  52. var testmask = document.getElementById("testmask");
  53. Inputmask("numeric", {
  54. groupSeparator: ",",
  55. autoGroup: true,
  56. integerDigits: 9
  57. }).mask(testmask);
  58. testmask.focus();
  59. $("#testmask").Type("00000");
  60. $(testmask).trigger("blur");
  61. assert.equal(testmask.value, "0", "Result " + testmask.value);
  62. });
  63. qunit.test("numeric -placeholder 0 type 00000 - Webunity", function (assert) {
  64. var $fixture = $("#qunit-fixture");
  65. $fixture.append('<input type="text" id="testmask" />');
  66. var testmask = document.getElementById("testmask");
  67. Inputmask("numeric", {
  68. groupSeparator: ",",
  69. autoGroup: true,
  70. placeholder: "0"
  71. }).mask(testmask);
  72. testmask.focus();
  73. $("#testmask").Type("00000");
  74. assert.equal($("#testmask")[0].inputmask._valueGet(), "0", "Result " + testmask.value);
  75. });
  76. qunit.test("numeric placeholder 0 prefix € type 0.123 - Webunity", function (assert) {
  77. var $fixture = $("#qunit-fixture");
  78. $fixture.append('<input type="text" id="testmask" />');
  79. var testmask = document.getElementById("testmask");
  80. Inputmask("numeric", {
  81. groupSeparator: ",",
  82. autoGroup: true,
  83. placeholder: "0",
  84. prefix: "€ "
  85. }).mask(testmask);
  86. testmask.focus();
  87. $("#testmask").Type("0.123");
  88. assert.equal(testmask.value, "€ 0.123", "Result " + testmask.value);
  89. });
  90. qunit.test("numeric placeholder 0 prefix € type 0.123 - backspace - Webunity", function (assert) {
  91. var $fixture = $("#qunit-fixture");
  92. $fixture.append('<input type="text" id="testmask" />');
  93. var testmask = document.getElementById("testmask");
  94. Inputmask("numeric", {
  95. groupSeparator: ",",
  96. autoGroup: true,
  97. placeholder: "0",
  98. prefix: "€ "
  99. }).mask(testmask);
  100. testmask.focus();
  101. $("#testmask").Type("0.123");
  102. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  103. assert.equal(testmask.value, "€ 0.12", "Result " + testmask.value);
  104. });
  105. qunit.test("numeric placeholder 0 prefix € type 0.123 + add 1 in front - Webunity", function (assert) {
  106. var $fixture = $("#qunit-fixture");
  107. $fixture.append('<input type="text" id="testmask" />');
  108. var testmask = document.getElementById("testmask");
  109. Inputmask("numeric", {
  110. groupSeparator: ",",
  111. autoGroup: true,
  112. placeholder: "0",
  113. prefix: "€ "
  114. }).mask(testmask);
  115. testmask.focus();
  116. $("#testmask").Type("0.123");
  117. $.caret(testmask, 2);
  118. $("#testmask").Type("1");
  119. assert.equal(testmask.value, "€ 10.123", "Result " + testmask.value);
  120. });
  121. qunit.test("numeric placeholder 0 autoGroup: false prefix € type 0.123 + add 123 in front - Webunity", function (assert) {
  122. var $fixture = $("#qunit-fixture");
  123. $fixture.append('<input type="text" id="testmask" />');
  124. var testmask = document.getElementById("testmask");
  125. Inputmask("numeric", {
  126. groupSeparator: ",",
  127. autoGroup: false,
  128. placeholder: "0",
  129. prefix: "€ "
  130. }).mask(testmask);
  131. testmask.focus();
  132. $("#testmask").Type("0.123");
  133. $.caret(testmask, 2);
  134. $("#testmask").Type("123");
  135. assert.equal(testmask.value, "€ 1230.123", "Result " + testmask.value);
  136. });
  137. qunit.test("numeric placeholder 0 autoGroup: true prefix € type 0.123 + add 123 in front - Webunity", function (assert) {
  138. var $fixture = $("#qunit-fixture");
  139. $fixture.append('<input type="text" id="testmask" />');
  140. var testmask = document.getElementById("testmask");
  141. Inputmask("numeric", {
  142. groupSeparator: ",",
  143. autoGroup: true,
  144. placeholder: "0",
  145. prefix: "€ "
  146. }).mask(testmask);
  147. testmask.focus();
  148. $("#testmask").Type("0.123");
  149. $.caret(testmask, 2);
  150. $("#testmask").Type("123");
  151. assert.equal(testmask.value, "€ 1,230.123", "Result " + testmask.value);
  152. });
  153. qunit.test("integer alias with integerDigits 9 & autogroup - type 123456789 - gigermocas", function (assert) {
  154. var $fixture = $("#qunit-fixture");
  155. $fixture.append('<input type="text" id="testmask" />');
  156. var testmask = document.getElementById("testmask");
  157. Inputmask("integer", {
  158. groupSeparator: ",",
  159. autoGroup: true,
  160. integerDigits: 9
  161. }).mask(testmask);
  162. testmask.focus();
  163. $("#testmask").Type("123456789");
  164. assert.equal(testmask.value, "123,456,789", "Result " + testmask.value);
  165. });
  166. qunit.test("integer alias with integerDigits 9 & autogroup - type 1234567890123456789 - gigermocas", function (assert) {
  167. var $fixture = $("#qunit-fixture");
  168. $fixture.append('<input type="text" id="testmask" />');
  169. var testmask = document.getElementById("testmask");
  170. Inputmask("integer", {
  171. groupSeparator: ",",
  172. autoGroup: true,
  173. integerDigits: 9
  174. }).mask(testmask);
  175. testmask.focus();
  176. $("#testmask").Type("1234567890123456789");
  177. assert.equal(testmask.value, "123,456,789", "Result " + testmask.value);
  178. });
  179. qunit.test("integer alias with integerDigits 4 & autogroup - type 1234567890123456789 - gigermocas", function (assert) {
  180. var $fixture = $("#qunit-fixture");
  181. $fixture.append('<input type="text" id="testmask" />');
  182. var testmask = document.getElementById("testmask");
  183. Inputmask("integer", {
  184. groupSeparator: ",",
  185. autoGroup: true,
  186. integerDigits: 4
  187. }).mask(testmask);
  188. testmask.focus();
  189. $("#testmask").Type("1234567890123456789");
  190. assert.equal(testmask.value, "1,234", "Result " + testmask.value);
  191. });
  192. qunit.test("decimal alias with integerDigits 9 & autogroup - type 123456789 - gigermocas", function (assert) {
  193. var $fixture = $("#qunit-fixture");
  194. $fixture.append('<input type="text" id="testmask" />');
  195. var testmask = document.getElementById("testmask");
  196. Inputmask("decimal", {
  197. groupSeparator: ",",
  198. autoGroup: true,
  199. integerDigits: 9
  200. }).mask(testmask);
  201. testmask.focus();
  202. $("#testmask").Type("123456789");
  203. assert.equal(testmask.value, "123,456,789", "Result " + testmask.value);
  204. });
  205. qunit.test("decimal alias with integerDigits 4 & autogroup - type 1234 - gigermocas", function (assert) {
  206. var $fixture = $("#qunit-fixture");
  207. $fixture.append('<input type="text" id="testmask" />');
  208. var testmask = document.getElementById("testmask");
  209. Inputmask("decimal", {
  210. groupSeparator: ",",
  211. autoGroup: true,
  212. integerDigits: 4
  213. }).mask(testmask);
  214. testmask.focus();
  215. $("#testmask").Type("1234");
  216. assert.equal(testmask.value, "1,234", "Result " + testmask.value);
  217. });
  218. qunit.test("numeric alias with allowMinus:false type=text - vijjj", function (assert) {
  219. var $fixture = $("#qunit-fixture");
  220. $fixture.append('<input type="text" id="testmask" />');
  221. var testmask = document.getElementById("testmask");
  222. Inputmask("numeric", {
  223. radixPoint: ".",
  224. integerDigits: 6,
  225. allowMinus: false
  226. }).mask(testmask);
  227. testmask.focus();
  228. $("#testmask").Type("123456");
  229. $.caret(testmask, 0);
  230. $("#testmask").SendKey("-");
  231. assert.equal(testmask.value, "123456", "Result " + testmask.value);
  232. });
  233. qunit.test("numeric alias with allowMinus:false type=number - mask not applied - MartinVerges", function (assert) {
  234. var $fixture = $("#qunit-fixture");
  235. $fixture.append('<input type="number" id="testmask" />');
  236. var testmask = document.getElementById("testmask");
  237. Inputmask("numeric", {
  238. radixPoint: ".",
  239. integerDigits: 6,
  240. allowMinus: false
  241. }).mask(testmask);
  242. testmask.focus();
  243. $("#testmask").Type("123456");
  244. $("#testmask").SendKey("-");
  245. //IE7 does not know type=number and treats as type=text
  246. //noinspection JSUnresolvedFunction
  247. assert.ok(testmask.value === "" || testmask.value === "123456", "Result " + testmask.value);
  248. });
  249. qunit.test("inputmask(\"numeric\", { prefix: \"€ \" }\") - input 12345.12", function (assert) {
  250. var $fixture = $("#qunit-fixture");
  251. $fixture.append('<input type="text" id="testmask" />');
  252. var testmask = document.getElementById("testmask");
  253. Inputmask("numeric", {
  254. prefix: "€ "
  255. }).mask(testmask);
  256. testmask.focus();
  257. $("#testmask").Type("12345.12");
  258. assert.equal(testmask.value, "€ 12345.12", "Result " + testmask.value);
  259. });
  260. qunit.test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123", function (assert) {
  261. var $fixture = $("#qunit-fixture");
  262. $fixture.append('<input type="text" id="testmask" />');
  263. var testmask = document.getElementById("testmask");
  264. Inputmask("decimal", {
  265. autoGroup: true,
  266. groupSeparator: ","
  267. }).mask(testmask);
  268. testmask.focus();
  269. $("#testmask").SendKey("1");
  270. $("#testmask").SendKey("2");
  271. $("#testmask").SendKey("3");
  272. $("#testmask").SendKey("4");
  273. $("#testmask").SendKey("5");
  274. $("#testmask").SendKey(".");
  275. $("#testmask").SendKey("1");
  276. $("#testmask").SendKey("2");
  277. $("#testmask").SendKey("3");
  278. assert.equal(testmask.value, "12,345.123", "Result " + testmask.value);
  279. });
  280. qunit.test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + remove .123", function (assert) {
  281. var done = assert.async(),
  282. $fixture = $("#qunit-fixture");
  283. $fixture.append('<input type="text" id="testmask" />');
  284. var testmask = document.getElementById("testmask");
  285. Inputmask("decimal", {
  286. autoGroup: true,
  287. groupSeparator: ",",
  288. decimalProtect: true
  289. }).mask(testmask);
  290. testmask.focus();
  291. $("#testmask").Type("12345.123");
  292. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  293. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  294. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  295. $(testmask).trigger("blur");
  296. setTimeout(function () {
  297. assert.equal(testmask.value, "12,345", "Result " + testmask.value);
  298. done();
  299. }, 0);
  300. });
  301. qunit.test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123 + replace .123 => .789", function (assert) {
  302. var $fixture = $("#qunit-fixture");
  303. $fixture.append('<input type="text" id="testmask" />');
  304. var testmask = document.getElementById("testmask");
  305. Inputmask("decimal", {
  306. autoGroup: true,
  307. groupSeparator: ","
  308. }).mask(testmask);
  309. testmask.focus();
  310. $("#testmask").Type("12345.123");
  311. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  312. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  313. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  314. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  315. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  316. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  317. $("#testmask").Type(".789");
  318. assert.equal(testmask.value, "12,345.789", "Result " + testmask.value);
  319. });
  320. qunit.test("inputmask(\"decimal\", { autoGroup: true, groupSeparator: \",\" }\") - input 12345.123 + select replace .123 => .789", function (assert) {
  321. var $fixture = $("#qunit-fixture");
  322. $fixture.append('<input type="text" id="testmask" />');
  323. var testmask = document.getElementById("testmask");
  324. Inputmask("decimal", {
  325. autoGroup: true,
  326. groupSeparator: ","
  327. }).mask(testmask);
  328. testmask.focus();
  329. $("#testmask").Type("12345.123");
  330. //$("#testmask").trigger("click");
  331. $.caret(testmask, 6, 10);
  332. $("#testmask").Type(".789");
  333. assert.equal(testmask.value, "12,345.789", "Result " + testmask.value);
  334. });
  335. qunit.test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + remove .123", function (assert) {
  336. var $fixture = $("#qunit-fixture");
  337. $fixture.append('<input type="text" id="testmask" />');
  338. var testmask = document.getElementById("testmask");
  339. Inputmask("decimal", {
  340. autoGroup: false,
  341. groupSeparator: ",",
  342. decimalProtect: true
  343. }).mask(testmask);
  344. testmask.focus();
  345. $("#testmask").Type("12345.123");
  346. //$("#testmask").trigger("click");
  347. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  348. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  349. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  350. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  351. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  352. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  353. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  354. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  355. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  356. });
  357. qunit.test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\", decimalProtect: false }\") - input 12345.123 + remove .123", function (assert) {
  358. var $fixture = $("#qunit-fixture");
  359. $fixture.append('<input type="text" id="testmask" />');
  360. var testmask = document.getElementById("testmask");
  361. Inputmask("decimal", {
  362. autoGroup: false,
  363. groupSeparator: ",",
  364. decimalProtect: false
  365. }).mask(testmask);
  366. testmask.focus();
  367. $("#testmask").Type("12345.123");
  368. //$("#testmask").trigger("click");
  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. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  378. });
  379. qunit.test("inputmask(\"decimal\", { autoGroup: false, groupSeparator: \",\", decimalProtect: true }\") - input 12345.123 + replace .123 => .789", function (assert) {
  380. var $fixture = $("#qunit-fixture");
  381. $fixture.append('<input type="text" id="testmask" />');
  382. var testmask = document.getElementById("testmask");
  383. Inputmask("decimal", {
  384. autoGroup: false,
  385. groupSeparator: ",",
  386. decimalProtect: true
  387. }).mask(testmask);
  388. testmask.focus();
  389. $("#testmask").Type("12345.123");
  390. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  391. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  392. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  393. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  394. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  395. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  396. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  397. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  398. $("#testmask").Type(".789");
  399. assert.equal(testmask.value, "12345.789", "Result " + testmask.value);
  400. });
  401. qunit.test("inputmask(\"decimal\") - maxlength 10", function (assert) {
  402. var $fixture = $("#qunit-fixture");
  403. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  404. var testmask = document.getElementById("testmask");
  405. Inputmask("decimal").mask(testmask);
  406. testmask.focus();
  407. $("#testmask").Type("123456789012345");
  408. assert.equal(testmask.value, "1234567890", "Result " + testmask.value);
  409. });
  410. qunit.test("inputmask(\"decimal, { repeat: 15 }\") - maxlength 10", function (assert) {
  411. var $fixture = $("#qunit-fixture");
  412. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  413. var testmask = document.getElementById("testmask");
  414. Inputmask("decimal", {
  415. repeat: 15
  416. }).mask(testmask);
  417. testmask.focus();
  418. $("#testmask").Type("123456789012345");
  419. assert.equal(testmask.value, "1234567890", "Result " + testmask.value);
  420. });
  421. qunit.test("inputmask(\"decimal, { repeat: 5, decimalProtect: true }\") - maxlength 10", function (assert) {
  422. var $fixture = $("#qunit-fixture");
  423. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  424. var testmask = document.getElementById("testmask");
  425. Inputmask("decimal", {
  426. repeat: 5,
  427. decimalProtect: true
  428. }).mask(testmask);
  429. testmask.focus();
  430. $("#testmask").Type("123456789012345");
  431. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  432. });
  433. qunit.test("inputmask(\"decimal, { repeat: 5, decimalProtect: false }\") - maxlength 10", function (assert) {
  434. var $fixture = $("#qunit-fixture");
  435. $fixture.append('<input type="text" id="testmask" maxlength="10" />');
  436. var testmask = document.getElementById("testmask");
  437. Inputmask("decimal", {
  438. repeat: 5,
  439. decimalProtect: false
  440. }).mask(testmask);
  441. testmask.focus();
  442. $("#testmask").Type("123456789012345");
  443. assert.equal(testmask.value, "12345.6789", "Result " + testmask.value);
  444. });
  445. qunit.test("inputmask(\"decimal\")", function (assert) {
  446. var $fixture = $("#qunit-fixture");
  447. $fixture.append('<input type="text" id="testmask" />');
  448. var testmask = document.getElementById("testmask");
  449. Inputmask("decimal").mask(testmask);
  450. testmask.focus();
  451. $("#testmask").Type("1234567890");
  452. $.caret(testmask, 0, 10);
  453. $("#testmask").Type("12345");
  454. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  455. });
  456. qunit.test("inputmask(\"decimal\") - value=\"1234567890\"", function (assert) {
  457. var $fixture = $("#qunit-fixture");
  458. $fixture.append('<input type="text" id="testmask" value="1234567890" />');
  459. var testmask = document.getElementById("testmask");
  460. Inputmask("decimal").mask(testmask);
  461. testmask.focus();
  462. $.caret(testmask, 0, 10);
  463. $("#testmask").Type("12345");
  464. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  465. });
  466. qunit.test("inputmask(\"decimal\")", function (assert) {
  467. var $fixture = $("#qunit-fixture");
  468. $fixture.append('<input type="text" id="testmask" />');
  469. var testmask = document.getElementById("testmask");
  470. Inputmask("decimal").mask(testmask);
  471. testmask.focus();
  472. $("#testmask").Type("1234567890");
  473. $.caret(testmask, 3, 5);
  474. $("#testmask").SendKey("0");
  475. assert.equal(testmask.value, "123067890", "Result " + testmask.value);
  476. });
  477. qunit.test("inputmask(\"decimal\") - value=\"1234567890\"", function (assert) {
  478. var $fixture = $("#qunit-fixture");
  479. $fixture.append('<input type="text" id="testmask" value="1234567890" />');
  480. var testmask = document.getElementById("testmask");
  481. Inputmask("decimal").mask(testmask);
  482. testmask.focus();
  483. $.caret(testmask, 3, 5);
  484. $("#testmask").SendKey("0");
  485. assert.equal(testmask.value, "123067890", "Result " + testmask.value);
  486. });
  487. qunit.test("inputmask(\"decimal\") - value=\"123.45\" Replace last integer", function (assert) {
  488. var $fixture = $("#qunit-fixture");
  489. $fixture.append('<input type="text" id="testmask" />');
  490. var testmask = document.getElementById("testmask");
  491. Inputmask("decimal", {
  492. digits: 2
  493. }).mask(testmask);
  494. testmask.focus();
  495. $("#testmask").Type("123.45");
  496. $.caret(testmask, 2, 3);
  497. $("#testmask").SendKey("7");
  498. assert.equal(testmask.value, "127.45", "Result " + testmask.value);
  499. });
  500. qunit.test("inputmask(\"decimal\", { digits: 2 }) - value=\"123\" - RomeroMsk", function (assert) {
  501. var $fixture = $("#qunit-fixture");
  502. $fixture.append('<input type="text" id="testmask" />');
  503. var testmask = document.getElementById("testmask");
  504. Inputmask("decimal", {
  505. digits: 2
  506. }).mask(testmask);
  507. testmask.focus();
  508. $("#testmask").Type("123");
  509. $.caret(testmask, 0, 3);
  510. $("#testmask").Type(",,..");
  511. $("#testmask").Type("45");
  512. assert.equal(testmask.value, "0.45", "Result " + testmask.value);
  513. });
  514. qunit.test("inputmask - Multiple inputs masked, Integer mask doesn't allow typing - #402 - albatrocity", function (assert) {
  515. var $fixture = $("#qunit-fixture");
  516. $fixture.append('<input type="text" id="testmask" />');
  517. var testmask = document.getElementById("testmask");
  518. $fixture.append('<input type="text" id="testmask2" />');
  519. var testmask2 = document.getElementById("testmask2");
  520. Inputmask("integer", {
  521. autoGroup: true,
  522. groupSeparator: ",",
  523. groupSize: 3
  524. }).mask(testmask);
  525. Inputmask("(999)-999-9999").mask(testmask2);
  526. testmask.focus();
  527. $("#testmask").Type("12345");
  528. assert.equal(testmask.value, "12,345", "Result " + testmask.value);
  529. $("#testmask2").remove();
  530. });
  531. qunit.test("decimal alias with groupseparator delete - YoussefTaghlabi", function (assert) {
  532. var $fixture = $("#qunit-fixture");
  533. $fixture.append('<input type="text" id="testmask" />');
  534. var testmask = document.getElementById("testmask");
  535. Inputmask("decimal", {
  536. radixPoint: ".",
  537. groupSeparator: ",",
  538. groupSize: 3,
  539. digits: 2,
  540. autoGroup: true,
  541. allowPlus: false,
  542. allowMinus: true
  543. }).mask(testmask);
  544. testmask.focus();
  545. $("#testmask").Type("1234567");
  546. $.caret(testmask, 0);
  547. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  548. assert.equal(testmask.value, "234,567", "Result " + testmask.value);
  549. });
  550. qunit.test("decimal alias with groupseparator backspace - YoussefTaghlabi", function (assert) {
  551. var $fixture = $("#qunit-fixture");
  552. $fixture.append('<input type="text" id="testmask" />');
  553. var testmask = document.getElementById("testmask");
  554. Inputmask("decimal", {
  555. radixPoint: ".",
  556. groupSeparator: ",",
  557. groupSize: 3,
  558. digits: 2,
  559. autoGroup: true,
  560. allowPlus: false,
  561. allowMinus: true
  562. }).mask(testmask);
  563. testmask.focus();
  564. $("#testmask").Type("1234567");
  565. $.caret(testmask, 1);
  566. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  567. assert.equal(testmask.value, "234,567", "Result " + testmask.value);
  568. });
  569. qunit.test("decimal alias with plus or minus & autogroup - type -123456 - YoussefTaghlabi", function (assert) {
  570. var $fixture = $("#qunit-fixture");
  571. $fixture.append('<input type="text" id="testmask" />');
  572. var testmask = document.getElementById("testmask");
  573. Inputmask("decimal", {
  574. radixPoint: ".",
  575. groupSeparator: ",",
  576. groupSize: 3,
  577. digits: 2,
  578. autoGroup: true,
  579. allowPlus: true,
  580. allowMinus: true
  581. }).mask(testmask);
  582. testmask.focus();
  583. $("#testmask").Type("-123456");
  584. assert.equal(testmask.value, "-123,456", "Result " + testmask.value);
  585. });
  586. qunit.test("decimal alias with plus or minus & autogroup - type 123465 - - YoussefTaghlabi", function (assert) {
  587. var $fixture = $("#qunit-fixture");
  588. $fixture.append('<input type="text" id="testmask" />');
  589. var testmask = document.getElementById("testmask");
  590. Inputmask("decimal", {
  591. radixPoint: ".",
  592. groupSeparator: ",",
  593. groupSize: 3,
  594. digits: 2,
  595. autoGroup: true,
  596. allowPlus: true,
  597. allowMinus: true
  598. }).mask(testmask);
  599. testmask.focus();
  600. $("#testmask").Type("123456");
  601. $.caret(testmask, 0);
  602. $("#testmask").SendKey("-");
  603. assert.equal(testmask.value, "-123,456", "Result " + testmask.value);
  604. });
  605. qunit.test("decimal alias with plus or minus & autogroup", function (assert) {
  606. var $fixture = $("#qunit-fixture");
  607. $fixture.append('<input type="text" id="testmask" />');
  608. var testmask = document.getElementById("testmask");
  609. Inputmask("decimal", {
  610. radixPoint: ".",
  611. groupSeparator: ",",
  612. groupSize: 3,
  613. digits: 2,
  614. autoGroup: true,
  615. allowPlus: true,
  616. allowMinus: true
  617. }).mask(testmask);
  618. testmask.focus();
  619. $("#testmask").Type("1234.56");
  620. assert.equal(testmask.value, "1,234.56", "Result " + testmask.value);
  621. });
  622. qunit.test("decimal alias set value with val() - kochelmonster", function (assert) {
  623. var $fixture = $("#qunit-fixture");
  624. $fixture.append('<input type="text" id="testmask" />');
  625. var testmask = document.getElementById("testmask");
  626. Inputmask("decimal", {
  627. radixPoint: ",",
  628. groupSeparator: ".",
  629. digits: 2,
  630. autoGroup: true,
  631. suffix: ' €'
  632. }).mask(testmask);
  633. $("#testmask").val("39.399.392,22 €");
  634. assert.equal(testmask.value, "39.399.392,22 €", "Result " + testmask.value);
  635. });
  636. qunit.test("inputmask(\"decimal\") - value=\"123.1\" blur digitsoptional", function (assert) {
  637. var done = assert.async(),
  638. $fixture = $("#qunit-fixture");
  639. $fixture.append('<input type="text" id="testmask" />');
  640. var testmask = document.getElementById("testmask");
  641. Inputmask("decimal", {
  642. digits: 3
  643. }).mask(testmask);
  644. testmask.focus();
  645. $("#testmask").Type("123.1");
  646. $(testmask).trigger("blur");
  647. setTimeout(function () {
  648. assert.equal(testmask.value, "123.1", "Result " + testmask.value);
  649. done();
  650. }, 0);
  651. });
  652. qunit.test("inputmask(\"decimal\") - value=\"123.1\" blur", function (assert) {
  653. var done = assert.async(),
  654. $fixture = $("#qunit-fixture");
  655. $fixture.append('<input type="text" id="testmask" />');
  656. var testmask = document.getElementById("testmask");
  657. Inputmask("decimal", {
  658. digits: 3,
  659. digitsOptional: false
  660. }).mask(testmask);
  661. testmask.focus();
  662. $("#testmask").Type("123.1");
  663. $(testmask).trigger("blur");
  664. setTimeout(function () {
  665. assert.equal(testmask.value, "123.100", "Result " + testmask.value);
  666. done();
  667. }, 0);
  668. });
  669. qunit.test("currency alias - 200000 => replace 2 to 3", function (assert) {
  670. var done = assert.async(),
  671. $fixture = $("#qunit-fixture");
  672. $fixture.append('<input type="text" id="testmask" />');
  673. var testmask = document.getElementById("testmask");
  674. Inputmask("currency").mask(testmask);
  675. testmask.focus();
  676. $("#testmask").trigger("click");
  677. setTimeout(function () {
  678. $("#testmask").Type("200000");
  679. $.caret(testmask, 2, 3);
  680. $("#testmask").Type("3");
  681. assert.equal(testmask.value, "$ 300,000.00", "Result " + testmask.value);
  682. done();
  683. }, 5);
  684. });
  685. qunit.test("inputmask(\"integer\") - -0 - laxmikantG", function (assert) {
  686. var done = assert.async(),
  687. $fixture = $("#qunit-fixture");
  688. $fixture.append('<input type="text" id="testmask" />');
  689. var testmask = document.getElementById("testmask");
  690. Inputmask("integer", {
  691. placeholder: "0"
  692. }).mask(testmask);
  693. testmask.focus();
  694. $("#testmask").Type("-0");
  695. $(testmask).trigger("blur");
  696. setTimeout(function () {
  697. assert.equal(testmask.value, "0", "Result " + testmask.value);
  698. done();
  699. }, 0);
  700. });
  701. qunit.test("inputmask(\"integer\") - 123- - laxmikantG", function (assert) {
  702. var $fixture = $("#qunit-fixture");
  703. $fixture.append('<input type="text" id="testmask" />');
  704. var testmask = document.getElementById("testmask");
  705. Inputmask("integer", {
  706. placeholder: "0"
  707. }).mask(testmask);
  708. testmask.focus();
  709. $("#testmask").Type("123-");
  710. assert.equal(testmask.value, "-123", "Result " + testmask.value);
  711. });
  712. qunit.test("inputmask(\"decimal\") - val(\"-5000,77\"); - ManRueda", function (assert) {
  713. var $fixture = $("#qunit-fixture");
  714. $fixture.append('<input type="text" id="testmask" />');
  715. var testmask = document.getElementById("testmask");
  716. Inputmask('decimal', {
  717. integerDigits: 10,
  718. groupSeparator: '.',
  719. autoGroup: true,
  720. digits: 2,
  721. radixPoint: ',',
  722. groupSize: 3
  723. }).mask(testmask);
  724. $("#testmask").val("-5000,77");
  725. assert.equal(testmask.value, "-5.000,77", "Result " + testmask.value);
  726. });
  727. qunit.test("inputmask(\"decimal\") - -0 - ManRueda", function (assert) {
  728. var done = assert.async(),
  729. $fixture = $("#qunit-fixture");
  730. $fixture.append('<input type="text" id="testmask" />');
  731. var testmask = document.getElementById("testmask");
  732. Inputmask('decimal', {
  733. integerDigits: 10,
  734. groupSeparator: '.',
  735. autoGroup: true,
  736. digits: 2,
  737. radixPoint: ',',
  738. groupSize: 3
  739. }).mask(testmask);
  740. $("#testmask").val("-0");
  741. $(testmask).trigger("blur");
  742. setTimeout(function () {
  743. assert.equal(testmask.value, "0", "Result " + testmask.value);
  744. done();
  745. }, 0);
  746. });
  747. qunit.test("inputmask(\"integer\") - -5.000,77 - DrSammyD", function (assert) {
  748. var $fixture = $("#qunit-fixture");
  749. $fixture.append('<input type="text" id="testmask" />');
  750. var testmask = document.getElementById("testmask");
  751. Inputmask('integer', {
  752. placeholder: "0"
  753. }).mask(testmask);
  754. $("#testmask").val("-5.000,77");
  755. $(testmask).trigger("blur");
  756. assert.equal(testmask.value, "-5000", "Result " + testmask.value);
  757. });
  758. qunit.test("inputmask(\"decimal\ placeholder :\"\" digitsoptional: false) - 123 - loostro", function (assert) {
  759. var done = assert.async(),
  760. $fixture = $("#qunit-fixture");
  761. $fixture.append('<input type="text" id="testmask" value="0,00" />');
  762. var testmask = document.getElementById("testmask");
  763. Inputmask("decimal", {
  764. radixPoint: ",",
  765. digits: 2,
  766. digitsOptional: false,
  767. autoGroup: true,
  768. groupSeparator: " ",
  769. groupSize: 3,
  770. allowPlus: false,
  771. allowMinus: false
  772. }).mask(testmask);
  773. testmask.focus();
  774. $("#testmask").trigger("click");
  775. $.caret(testmask, 0);
  776. setTimeout(function () {
  777. $("#testmask").Type("123");
  778. assert.equal(testmask.value, "123,00", "Result " + testmask.value);
  779. done();
  780. }, 5);
  781. });
  782. qunit.test("inputmask(\"decimal\ placeholder :\"0\" digitsoptional: false) - .12 - YodaJM", function (assert) {
  783. var done = assert.async(),
  784. $fixture = $("#qunit-fixture");
  785. $fixture.append('<input type="text" id="testmask" />');
  786. var testmask = document.getElementById("testmask");
  787. Inputmask('decimal', {
  788. digits: 2,
  789. placeholder: "0",
  790. digitsOptional: false
  791. }).mask(testmask);
  792. testmask.focus();
  793. $.caret(testmask, 0, 4);
  794. setTimeout(function () {
  795. $("#testmask").Type(".12");
  796. assert.equal(testmask.value, "0.12", "Result " + testmask.value);
  797. done();
  798. }, 0);
  799. });
  800. qunit.test("inputmask(\"decimal\") - '8100000.00' - ManRueda", function (assert) {
  801. var $fixture = $("#qunit-fixture");
  802. $fixture.append('<input type="text" id="testmask" />');
  803. var testmask = document.getElementById("testmask");
  804. Inputmask('decimal', {
  805. integerDigits: 6,
  806. groupSeparator: '.',
  807. autoGroup: true,
  808. digits: 2,
  809. radixPoint: ',',
  810. groupSize: 3
  811. }).mask(testmask);
  812. $("#testmask").val("8100000.00");
  813. assert.equal(testmask.value, "810.000,00", "Result " + testmask.value);
  814. });
  815. qunit.test("inputmask(\"decimal\") - '12345678.12' - ManRueda", function (assert) {
  816. var $fixture = $("#qunit-fixture");
  817. $fixture.append('<input type="text" id="testmask" />');
  818. var testmask = document.getElementById("testmask");
  819. Inputmask('decimal', {
  820. integerDigits: 6,
  821. groupSeparator: '.',
  822. autoGroup: true,
  823. digits: 2,
  824. radixPoint: ',',
  825. groupSize: 3
  826. }).mask(testmask);
  827. $("#testmask").val("12345678.12");
  828. assert.equal(testmask.value, "123.456,12", "Result " + testmask.value);
  829. });
  830. qunit.test("inputmask(\"decimal\") - '8100000,00' - ManRueda", function (assert) {
  831. var $fixture = $("#qunit-fixture");
  832. $fixture.append('<input type="text" id="testmask" />');
  833. var testmask = document.getElementById("testmask");
  834. Inputmask('decimal', {
  835. integerDigits: 6,
  836. groupSeparator: '.',
  837. autoGroup: true,
  838. digits: 2,
  839. radixPoint: ',',
  840. groupSize: 3
  841. }).mask(testmask);
  842. $("#testmask").val("8100000,00");
  843. assert.equal(testmask.value, "810.000,00", "Result " + testmask.value);
  844. });
  845. qunit.test("inputmask(\"decimal\") - 8100000.00 - ManRueda", function (assert) {
  846. var $fixture = $("#qunit-fixture");
  847. $fixture.append('<input type="text" id="testmask" />');
  848. var testmask = document.getElementById("testmask");
  849. Inputmask('decimal', {
  850. integerDigits: 6,
  851. groupSeparator: '.',
  852. autoGroup: true,
  853. digits: 2,
  854. radixPoint: ',',
  855. groupSize: 3
  856. }).mask(testmask);
  857. $("#testmask").val(8100000.00);
  858. assert.equal(testmask.value, "810.000", "Result " + testmask.value);
  859. });
  860. qunit.test("inputmask(\"decimal\") - 8100000.00 digitsoptional false - ManRueda", function (assert) {
  861. var $fixture = $("#qunit-fixture");
  862. $fixture.append('<input type="text" id="testmask" />');
  863. var testmask = document.getElementById("testmask");
  864. Inputmask('decimal', {
  865. integerDigits: 6,
  866. groupSeparator: '.',
  867. autoGroup: true,
  868. digits: 2,
  869. digitsOptional: false,
  870. radixPoint: ',',
  871. groupSize: 3
  872. }).mask(testmask);
  873. $("#testmask").val(8100000.00);
  874. $(testmask).trigger("blur");
  875. assert.equal(testmask.value, "810.000,00", "Result " + testmask.value);
  876. });
  877. qunit.test("inputmask(\"decimal\") - 810000.00 - ManRueda", function (assert) {
  878. var $fixture = $("#qunit-fixture");
  879. $fixture.append('<input type="text" id="testmask" />');
  880. var testmask = document.getElementById("testmask");
  881. Inputmask("decimal", {
  882. integerDigits: 6,
  883. groupSeparator: ".",
  884. autoGroup: true,
  885. digits: 2,
  886. radixPoint: ",",
  887. groupSize: 3
  888. }).mask(testmask);
  889. $("#testmask").val("810000.00");
  890. assert.equal(testmask.value, "810.000,00", "Result " + testmask.value);
  891. });
  892. qunit.test("inputmask(\"decimal\") - 123456 78 - babupca", function (assert) {
  893. var done = assert.async(),
  894. $fixture = $("#qunit-fixture");
  895. $fixture.append('<input type="text" id="testmask" />');
  896. var testmask = document.getElementById("testmask");
  897. Inputmask({
  898. alias: "decimal",
  899. integerDigits: 6,
  900. digits: 3,
  901. allowMinus: false,
  902. digitsOptional: false,
  903. placeholder: "0"
  904. }).mask(testmask);
  905. testmask.focus();
  906. $("#testmask").trigger("click");
  907. setTimeout(function () {
  908. $("#testmask").Type("123456");
  909. $.caret(testmask, 8);
  910. $("#testmask").Type("78");
  911. $.caret(testmask, 5);
  912. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  913. assert.equal(testmask.value, "12346.078", "Result " + testmask.value);
  914. done();
  915. }, 0);
  916. });
  917. qunit.test("currency alias - 1234 => del 1", function (assert) {
  918. var done = assert.async(),
  919. $fixture = $("#qunit-fixture");
  920. $fixture.append('<input type="text" id="testmask" />');
  921. var testmask = document.getElementById("testmask");
  922. Inputmask("currency").mask(testmask);
  923. testmask.focus();
  924. $("#testmask").trigger("click");
  925. setTimeout(function () {
  926. $("#testmask").Type("1234");
  927. $.caret(testmask, 3);
  928. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  929. assert.equal(testmask.value, "$ 234.00", "Result " + testmask.value);
  930. done();
  931. }, 5);
  932. });
  933. qunit.test("currency alias - 0.02 => type 1 in integer part", function (assert) {
  934. var done = assert.async(),
  935. $fixture = $("#qunit-fixture");
  936. $fixture.append('<input type="text" id="testmask" />');
  937. var testmask = document.getElementById("testmask");
  938. Inputmask("currency").mask(testmask);
  939. testmask.focus();
  940. $("#testmask").trigger("click");
  941. setTimeout(function () {
  942. $("#testmask").Type("0.02");
  943. $.caret(testmask, 3);
  944. $("#testmask").SendKey("1");
  945. assert.equal(testmask.value, "$ 1.02", "Result " + testmask.value);
  946. done();
  947. }, 5);
  948. });
  949. qunit.test("currency alias - 0.02 => position before 0 type 1 in integer part", function (assert) {
  950. var done = assert.async(),
  951. $fixture = $("#qunit-fixture");
  952. $fixture.append('<input type="text" id="testmask" />');
  953. var testmask = document.getElementById("testmask");
  954. Inputmask("currency").mask(testmask);
  955. testmask.focus();
  956. $("#testmask").trigger("click");
  957. setTimeout(function () {
  958. $("#testmask").Type("0.02");
  959. $.caret(testmask, 2);
  960. $("#testmask").SendKey("1");
  961. assert.equal(testmask.value, "$ 10.02", "Result " + testmask.value);
  962. done();
  963. }, 5);
  964. });
  965. qunit.test("currency alias - 1.23 => del 1 in integer part", function (assert) {
  966. var done = assert.async(),
  967. $fixture = $("#qunit-fixture");
  968. $fixture.append('<input type="text" id="testmask" />');
  969. var testmask = document.getElementById("testmask");
  970. Inputmask("currency").mask(testmask);
  971. testmask.focus();
  972. $("#testmask").trigger("click");
  973. setTimeout(function () {
  974. $("#testmask").Type("1.23");
  975. $.caret(testmask, 3);
  976. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  977. assert.equal(testmask.value, "$ 0.23", "Result " + testmask.value);
  978. done();
  979. }, 5);
  980. });
  981. qunit.test("currency alias - 1234.56 => delete all", function (assert) {
  982. var done = assert.async(),
  983. $fixture = $("#qunit-fixture");
  984. $fixture.append('<input type="text" id="testmask" />');
  985. var testmask = document.getElementById("testmask");
  986. Inputmask("currency").mask(testmask);
  987. testmask.focus();
  988. $("#testmask").trigger("click");
  989. setTimeout(function () {
  990. $("#testmask").Type("1234.56");
  991. $.caret(testmask, 0, 10);
  992. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  993. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 0.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  994. done();
  995. }, 5);
  996. });
  997. qunit.test("numeric prefix='$' - paste 1234.56 - baileyjames9 & TheAndyBob", function (assert) {
  998. var done = assert.async(),
  999. $fixture = $("#qunit-fixture");
  1000. $fixture.append('<input type="text" id="testmask" />');
  1001. var testmask = document.getElementById("testmask");
  1002. Inputmask("numeric", {
  1003. radixPoint: ".",
  1004. groupSeparator: ",",
  1005. digits: 2,
  1006. autoGroup: true,
  1007. prefix: '$' //No Space, this will truncate the first character
  1008. }).mask(testmask);
  1009. testmask.focus();
  1010. $("#testmask").trigger("click");
  1011. setTimeout(function () {
  1012. $("#testmask").paste("1234.56");
  1013. assert.equal(testmask.value, "$1,234.56", "Result " + testmask.value);
  1014. done();
  1015. }, 5);
  1016. });
  1017. qunit.test("currency alias - 1234.56 => select integer press 1 - babupca", function (assert) {
  1018. var done = assert.async(),
  1019. $fixture = $("#qunit-fixture");
  1020. $fixture.append('<input type="text" id="testmask" />');
  1021. var testmask = document.getElementById("testmask");
  1022. Inputmask("currency").mask(testmask);
  1023. testmask.focus();
  1024. $("#testmask").trigger("click");
  1025. setTimeout(function () {
  1026. $("#testmask").Type("1234.56");
  1027. $.caret(testmask, 0, 7);
  1028. $("#testmask").SendKey("1");
  1029. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 1.56", "Result " + $("#testmask")[0].inputmask._valueGet());
  1030. done();
  1031. }, 5);
  1032. });
  1033. qunit.test("currency alias - 123.56 => select integer press 1 - babupca", function (assert) {
  1034. var done = assert.async(),
  1035. $fixture = $("#qunit-fixture");
  1036. $fixture.append('<input type="text" id="testmask" />');
  1037. var testmask = document.getElementById("testmask");
  1038. Inputmask("currency").mask(testmask);
  1039. testmask.focus();
  1040. $("#testmask").trigger("click");
  1041. setTimeout(function () {
  1042. $("#testmask").Type("123.56");
  1043. $.caret(testmask, 0, 5);
  1044. $("#testmask").SendKey("1");
  1045. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 1.56", "Result " + $("#testmask")[0].inputmask._valueGet());
  1046. done();
  1047. }, 5);
  1048. });
  1049. qunit.test("currency alias - 123.56 => select integer press 1 - babupca", function (assert) {
  1050. var done = assert.async(),
  1051. $fixture = $("#qunit-fixture");
  1052. $fixture.append('<input type="text" id="testmask" />');
  1053. var testmask = document.getElementById("testmask");
  1054. Inputmask("currency", {
  1055. prefix: "$"
  1056. }).mask(testmask);
  1057. testmask.focus();
  1058. $("#testmask").trigger("click");
  1059. setTimeout(function () {
  1060. $("#testmask").Type("123.56");
  1061. $.caret(testmask, 0, 4);
  1062. $("#testmask").SendKey("1");
  1063. assert.equal($("#testmask")[0].inputmask._valueGet(), "$1.56", "Result " + $("#testmask")[0].inputmask._valueGet());
  1064. done();
  1065. }, 5);
  1066. });
  1067. qunit.test("currency alias - min 1000", function (assert) {
  1068. var done = assert.async(),
  1069. $fixture = $("#qunit-fixture");
  1070. $fixture.append('<input type="text" id="testmask" />');
  1071. var testmask = document.getElementById("testmask");
  1072. Inputmask("currency", {
  1073. min: 1000
  1074. }).mask(testmask);
  1075. testmask.focus();
  1076. $(testmask).trigger("blur");
  1077. setTimeout(function () {
  1078. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 1,000.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1079. done();
  1080. }, 5);
  1081. });
  1082. qunit.test("currency alias - max 1000 - type 1234", function (assert) {
  1083. var done = assert.async(),
  1084. $fixture = $("#qunit-fixture");
  1085. $fixture.append('<input type="text" id="testmask" />');
  1086. var testmask = document.getElementById("testmask");
  1087. Inputmask("currency", {
  1088. max: 1000
  1089. }).mask(testmask);
  1090. testmask.focus();
  1091. $("#testmask").trigger("click");
  1092. setTimeout(function () {
  1093. $("#testmask").Type("1234");
  1094. $("#testmask").trigger("blur");
  1095. setTimeout(function () {
  1096. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 1,000.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1097. done();
  1098. }, 0);
  1099. }, 5);
  1100. });
  1101. qunit.test("currency alias - type 1010 delete first 1 - FilipeZhou", function (assert) {
  1102. var done = assert.async(),
  1103. $fixture = $("#qunit-fixture");
  1104. $fixture.append('<input type="text" id="testmask" />');
  1105. var testmask = document.getElementById("testmask");
  1106. Inputmask("currency").mask(testmask);
  1107. testmask.focus();
  1108. $("#testmask").trigger("click");
  1109. setTimeout(function () {
  1110. $("#testmask").Type("1010");
  1111. $.caret(testmask, 3);
  1112. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1113. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 10.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1114. done();
  1115. }, 0);
  1116. });
  1117. qunit.test("currency alias - type 1010 delete middle 1 - FilipeZhou", function (assert) {
  1118. var done = assert.async(),
  1119. $fixture = $("#qunit-fixture");
  1120. $fixture.append('<input type="text" id="testmask" />');
  1121. var testmask = document.getElementById("testmask");
  1122. Inputmask("currency").mask(testmask);
  1123. testmask.focus();
  1124. $("#testmask").trigger("click");
  1125. setTimeout(function () {
  1126. $("#testmask").Type("1010");
  1127. $.caret(testmask, 6);
  1128. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1129. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 100.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1130. done();
  1131. }, 0);
  1132. });
  1133. qunit.test("currency alias - type -1234 delete -", function (assert) {
  1134. var done = assert.async(),
  1135. $fixture = $("#qunit-fixture");
  1136. $fixture.append('<input type="text" id="testmask" />');
  1137. var testmask = document.getElementById("testmask");
  1138. Inputmask("currency").mask(testmask);
  1139. testmask.focus();
  1140. $("#testmask").trigger("click");
  1141. setTimeout(function () {
  1142. $("#testmask").Type("-1234");
  1143. $.caret(testmask, 0);
  1144. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  1145. assert.equal($("#testmask")[0].inputmask._valueGet(), "$ 1,234.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1146. done();
  1147. }, 0);
  1148. });
  1149. qunit.test("decimal alias - type 12345.12 add 6 in front - freeze - DatXN", function (assert) {
  1150. var $fixture = $("#qunit-fixture");
  1151. $fixture.append('<input type="text" id="testmask" />');
  1152. var testmask = document.getElementById("testmask");
  1153. Inputmask("decimal", {
  1154. integerDigits: 5,
  1155. digits: 2,
  1156. allowMinus: false,
  1157. allowPlus: false
  1158. }).mask(testmask);
  1159. testmask.focus();
  1160. $("#testmask").trigger("click");
  1161. $("#testmask").Type("12345.12");
  1162. $.caret(testmask, 0);
  1163. $("#testmask").SendKey("6");
  1164. assert.equal($("#testmask")[0].inputmask._valueGet(), "12345.12", "Result " + $("#testmask")[0].inputmask._valueGet());
  1165. });
  1166. qunit.test("decimal alias - type 123456789 - add , before 8 - jpontet", function (assert) {
  1167. var $fixture = $("#qunit-fixture");
  1168. $fixture.append('<input type="text" id="testmask" />');
  1169. var testmask = document.getElementById("testmask");
  1170. Inputmask("decimal", {
  1171. allowMinus: true,
  1172. integerDigits: 12,
  1173. digits: 2,
  1174. radixPoint: ",",
  1175. autoGroup: true,
  1176. groupSeparator: " ",
  1177. groupSize: 3,
  1178. rightAlign: false
  1179. }).mask(testmask);
  1180. testmask.focus();
  1181. $("#testmask").trigger("click");
  1182. $("#testmask").Type("123456789");
  1183. $.caret(testmask, 9);
  1184. $("#testmask").SendKey(",");
  1185. assert.equal($("#testmask")[0].inputmask._valueGet(), "1 234 567,89", "Result " + $("#testmask")[0].inputmask._valueGet());
  1186. });
  1187. qunit.test("decimal alias - type 123456789 - add , before 8 - backspace - jpontet", function (assert) {
  1188. var $fixture = $("#qunit-fixture");
  1189. $fixture.append('<input type="text" id="testmask" />');
  1190. var testmask = document.getElementById("testmask");
  1191. Inputmask("decimal", {
  1192. allowMinus: true,
  1193. integerDigits: 12,
  1194. digits: 2,
  1195. radixPoint: ",",
  1196. autoGroup: true,
  1197. groupSeparator: " ",
  1198. groupSize: 3,
  1199. rightAlign: false
  1200. }).mask(testmask);
  1201. testmask.focus();
  1202. $("#testmask").trigger("click");
  1203. $("#testmask").Type("123456789");
  1204. $.caret(testmask, 9);
  1205. $("#testmask").SendKey(",");
  1206. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1207. assert.equal($("#testmask")[0].inputmask._valueGet(), "123 456,89", "Result " + $("#testmask")[0].inputmask._valueGet());
  1208. });
  1209. qunit.test("decimal alias - type 1234567890 - add , before 9 - jpontet", function (assert) {
  1210. var $fixture = $("#qunit-fixture");
  1211. $fixture.append('<input type="text" id="testmask" />');
  1212. var testmask = document.getElementById("testmask");
  1213. Inputmask("decimal", {
  1214. allowMinus: true,
  1215. integerDigits: 12,
  1216. digits: 2,
  1217. radixPoint: ",",
  1218. autoGroup: true,
  1219. groupSeparator: " ",
  1220. groupSize: 3,
  1221. rightAlign: false
  1222. }).mask(testmask);
  1223. testmask.focus();
  1224. $("#testmask").trigger("click");
  1225. $("#testmask").Type("1234567890");
  1226. $.caret(testmask, 11);
  1227. $("#testmask").SendKey(",");
  1228. assert.equal($("#testmask")[0].inputmask._valueGet(), "12 345 678,90", "Result " + $("#testmask")[0].inputmask._valueGet());
  1229. });
  1230. qunit.test("decimal alias - type 1234567890 - add , before 9 - backspace - jpontet", function (assert) {
  1231. var $fixture = $("#qunit-fixture");
  1232. $fixture.append('<input type="text" id="testmask" />');
  1233. var testmask = document.getElementById("testmask");
  1234. Inputmask("decimal", {
  1235. allowMinus: true,
  1236. integerDigits: 12,
  1237. digits: 2,
  1238. radixPoint: ",",
  1239. autoGroup: true,
  1240. groupSeparator: " ",
  1241. groupSize: 3,
  1242. rightAlign: false
  1243. }).mask(testmask);
  1244. testmask.focus();
  1245. $("#testmask").trigger("click");
  1246. $("#testmask").Type("1234567890");
  1247. $.caret(testmask, 11);
  1248. $("#testmask").SendKey(",");
  1249. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1250. assert.equal($("#testmask")[0].inputmask._valueGet(), "1 234 567,90", "Result " + $("#testmask")[0].inputmask._valueGet());
  1251. });
  1252. qunit.test("numeric alias - value=\"-1234\" minvalue = 1000", function (assert) {
  1253. var $fixture = $("#qunit-fixture");
  1254. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1255. var testmask = document.getElementById("testmask");
  1256. Inputmask("numeric", {
  1257. allowMinus: true,
  1258. min: 1000,
  1259. max: 3000
  1260. }).mask(testmask);
  1261. $(testmask).blur();
  1262. assert.equal(testmask.inputmask._valueGet(), "1000", "Result " + testmask.inputmask._valueGet());
  1263. });
  1264. qunit.test("numeric alias - value=\"-1234\" minvalue = -1000", function (assert) {
  1265. var $fixture = $("#qunit-fixture");
  1266. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1267. var testmask = document.getElementById("testmask");
  1268. Inputmask("numeric", {
  1269. allowMinus: true,
  1270. min: -1000,
  1271. max: 3000
  1272. }).mask(testmask);
  1273. $(testmask).blur();
  1274. assert.equal(testmask.inputmask._valueGet(), "-1000", "Result " + testmask.inputmask._valueGet());
  1275. });
  1276. qunit.test("numeric alias - value=\"1000\" minvalue = 1000", function (assert) {
  1277. var $fixture = $("#qunit-fixture");
  1278. $fixture.append('<input type="text" id="testmask" value="1000" />');
  1279. var testmask = document.getElementById("testmask");
  1280. Inputmask("numeric", {
  1281. allowMinus: true,
  1282. min: 1000,
  1283. max: 3000
  1284. }).mask(testmask);
  1285. assert.equal($("#testmask")[0].inputmask._valueGet(), "1000", "Result " + $("#testmask")[0].inputmask._valueGet());
  1286. });
  1287. qunit.test("numeric alias - value=\"-1000\" minvalue = -1000", function (assert) {
  1288. var $fixture = $("#qunit-fixture");
  1289. $fixture.append('<input type="text" id="testmask" value="-1000" />');
  1290. var testmask = document.getElementById("testmask");
  1291. Inputmask("numeric", {
  1292. allowMinus: true,
  1293. min: -1000,
  1294. max: 3000
  1295. }).mask(testmask);
  1296. assert.equal($("#testmask")[0].inputmask._valueGet(), "-1000", "Result " + $("#testmask")[0].inputmask._valueGet());
  1297. });
  1298. qunit.test("decimal alias - overwrite decimal value - shahvaiz", function (assert) {
  1299. var $fixture = $("#qunit-fixture");
  1300. $fixture.append('<input type="text" id="testmask" />');
  1301. var testmask = document.getElementById("testmask");
  1302. Inputmask("decimal", {
  1303. autoGroup: true,
  1304. groupSeparator: ",",
  1305. suffix: '%'
  1306. }).mask(testmask);
  1307. $("#testmask").Type("123.123");
  1308. $.caret(testmask, 4, 7);
  1309. $("#testmask").Type("4");
  1310. assert.equal($("#testmask")[0].inputmask._valueGet(), "123.4%", "Result " + $("#testmask")[0].inputmask._valueGet());
  1311. });
  1312. qunit.test("numeric alias - placeholder: \"_\" - lucafik", function (assert) {
  1313. var done = assert.async(),
  1314. $fixture = $("#qunit-fixture");
  1315. $fixture.append('<input type="text" id="testmask" />');
  1316. var testmask = document.getElementById("testmask");
  1317. Inputmask("numeric", {
  1318. integerDigits: 2,
  1319. digits: 2,
  1320. placeholder: "_",
  1321. digitsOptional: false
  1322. }).mask(testmask);
  1323. testmask.focus();
  1324. $("#testmask").trigger("click");
  1325. setTimeout(function () {
  1326. $("#testmask").Type("12");
  1327. assert.equal($("#testmask")[0].inputmask._valueGet(), "12.__", "Result " + $("#testmask")[0].inputmask._valueGet());
  1328. done();
  1329. }, 0);
  1330. });
  1331. qunit.test("numeric alias - type 123.123 - delete all - ivodopyanov", function (assert) {
  1332. var done = assert.async(),
  1333. $fixture = $("#qunit-fixture");
  1334. $fixture.append('<input type="text" id="testmask" />');
  1335. var testmask = document.getElementById("testmask");
  1336. Inputmask("numeric").mask(testmask);
  1337. $("#testmask").trigger("click");
  1338. setTimeout(function () {
  1339. $("#testmask").Type("123.123");
  1340. $.caret(testmask, 0, testmask.value.length);
  1341. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  1342. assert.equal($("#testmask")[0].inputmask._valueGet(), "", "Result " + $("#testmask")[0].inputmask._valueGet());
  1343. done();
  1344. }, 0);
  1345. });
  1346. qunit.test("currency alias - 123 - isvalid - ivodopyanov", function (assert) {
  1347. var done = assert.async(),
  1348. $fixture = $("#qunit-fixture");
  1349. $fixture.append('<input type="text" id="testmask" />');
  1350. var testmask = document.getElementById("testmask");
  1351. Inputmask("currency").mask(testmask);
  1352. $("#testmask").trigger("click");
  1353. setTimeout(function () {
  1354. $("#testmask").Type("123");
  1355. var isValid = Inputmask("currency").isValid(testmask.value);
  1356. assert.equal(isValid, true, "Result " + $(testmask).val() + " : " + isValid);
  1357. done();
  1358. }, 0);
  1359. });
  1360. qunit.test("currency alias - $ 99,999,999.00 - isvalid - ivodopyanov", function (assert) {
  1361. var $fixture = $("#qunit-fixture");
  1362. $fixture.append('<input type="text" id="testmask" />');
  1363. var testmask = document.getElementById("testmask");
  1364. Inputmask("currency").mask(testmask);
  1365. $("#testmask").Type("$ 99,999,999.00");
  1366. var isValid = Inputmask("currency").isValid(testmask.value);
  1367. assert.equal(isValid, true, "Result " + $(testmask).val() + " : " + isValid);
  1368. });
  1369. qunit.test("numeric alias - digits 2 type 0.12 - gharlan", function (assert) {
  1370. var $fixture = $("#qunit-fixture");
  1371. $fixture.append('<input type="text" id="testmask" value="0.12" />');
  1372. var testmask = document.getElementById("testmask");
  1373. Inputmask("numeric", {
  1374. digits: 2
  1375. }).mask(testmask);
  1376. $.caret(testmask, 0, 1);
  1377. $("#testmask").Type("1");
  1378. assert.equal($("#testmask")[0].inputmask._valueGet(), "1.12", "Result " + $("#testmask")[0].inputmask._valueGet());
  1379. });
  1380. qunit.test("numeric alias - digits 2 select 0 type 1 - gharlan", function (assert) {
  1381. var $fixture = $("#qunit-fixture");
  1382. $fixture.append('<input type="text" id="testmask" value="0.00" />');
  1383. var testmask = document.getElementById("testmask");
  1384. Inputmask("numeric", {
  1385. digits: 2
  1386. }).mask(testmask);
  1387. $.caret(testmask, 0, 1);
  1388. $("#testmask").Type("1");
  1389. assert.equal($("#testmask")[0].inputmask._valueGet(), "1.00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1390. });
  1391. qunit.test("decimal alias - value 20,00 select 2 type 5 - schmulschubiak", function (assert) {
  1392. var $fixture = $("#qunit-fixture");
  1393. $fixture.append('<input type="text" id="testmask" value="20,00" />');
  1394. var testmask = document.getElementById("testmask");
  1395. Inputmask("decimal", {
  1396. radixPoint: ",",
  1397. autoGroup: true,
  1398. groupSeparator: " ",
  1399. groupSize: 3,
  1400. allowMinus: false,
  1401. digits: 2,
  1402. rightAlign: false
  1403. }).mask(testmask);
  1404. $.caret(testmask, 0, 1);
  1405. $("#testmask").Type("5");
  1406. assert.equal($("#testmask")[0].inputmask._valueGet(), "50,00", "Result " + $("#testmask")[0].inputmask._valueGet());
  1407. });
  1408. qunit.test("currency numericInput true - type 10020 - jaisonerick", function (assert) {
  1409. var done = assert.async(),
  1410. $fixture = $("#qunit-fixture");
  1411. $fixture.append('<input type="text" id="testmask" />');
  1412. var testmask = document.getElementById("testmask");
  1413. Inputmask("currency", {
  1414. allowPlus: false,
  1415. allowMinus: false,
  1416. rightAlign: false,
  1417. groupSeparator: '.',
  1418. radixPoint: ',',
  1419. numericInput: true,
  1420. digits: 2,
  1421. prefix: 'R$ ',
  1422. unmaskAsNumber: false
  1423. }).mask(testmask);
  1424. testmask.focus();
  1425. $("#testmask").trigger("click");
  1426. setTimeout(function () {
  1427. $("#testmask").Type("10020");
  1428. assert.equal($(testmask).val(), "R$ 100,20", "Result " + $(testmask).val());
  1429. done();
  1430. }, 0);
  1431. });
  1432. qunit.test("numeric - type 978-3498064365 - andreasba", function (assert) {
  1433. var $fixture = $("#qunit-fixture");
  1434. $fixture.append('<input type="text" id="testmask" />');
  1435. var testmask = document.getElementById("testmask");
  1436. Inputmask("numeric").mask(testmask);
  1437. $("#testmask").Type("978-3498064365");
  1438. assert.equal($(testmask).val(), "-9783498064365", "Result " + $(testmask).val());
  1439. });
  1440. qunit.test("numeric - type 978-3498064365 - andreasba", function (assert) {
  1441. var $fixture = $("#qunit-fixture");
  1442. $fixture.append('<input type="text" id="testmask" />');
  1443. var testmask = document.getElementById("testmask");
  1444. Inputmask("numeric", {
  1445. allowMinus: false
  1446. }).mask(testmask);
  1447. testmask.focus();
  1448. $("#testmask").Type("978-3498064365");
  1449. assert.equal($(testmask).val(), "9783498064365", "Result " + $(testmask).val());
  1450. });
  1451. qunit.test("currency alias - isvalid - ivodopyanov - htmlmasta", function (assert) {
  1452. var done = assert.async(),
  1453. $fixture = $("#qunit-fixture");
  1454. $fixture.append('<input type="text" id="testmask" />');
  1455. var testmask = document.getElementById("testmask");
  1456. Inputmask("currency").mask(testmask);
  1457. testmask.focus();
  1458. $("#testmask").trigger("click");
  1459. setTimeout(function () {
  1460. var i, isValid;
  1461. for (i = 0; i < 10; i++) {
  1462. $("#testmask").Type("9");
  1463. isValid = Inputmask("currency").isValid(testmask.value);
  1464. assert.equal(isValid, true, "Value: \"" + testmask.value + "\"; isValid: " + isValid);
  1465. }
  1466. done();
  1467. }, 0);
  1468. });
  1469. qunit.test("currency - goto last decimal place type 2", function (assert) {
  1470. var $fixture = $("#qunit-fixture");
  1471. $fixture.append('<input type="text" id="testmask" />');
  1472. var testmask = document.getElementById("testmask");
  1473. Inputmask("currency").mask(testmask);
  1474. testmask.focus();
  1475. $.caret(testmask, 5);
  1476. $("#testmask").Type("2");
  1477. assert.equal($(testmask).val(), "$ 0.02", "Result " + $(testmask).val());
  1478. });
  1479. qunit.test("decimal minvalue 0,3 - enter 0,2 - Aifz", function (assert) {
  1480. var $fixture = $("#qunit-fixture");
  1481. $fixture.append('<input type="text" id="testmask" />');
  1482. var testmask = document.getElementById("testmask");
  1483. Inputmask({
  1484. 'alias': 'decimal',
  1485. 'radixPoint': ',',
  1486. 'digits': '2',
  1487. 'min': '0,3',
  1488. 'max': '5',
  1489. 'allowMinus': false
  1490. }).mask(testmask);
  1491. testmask.focus();
  1492. $("#testmask").Type("0,2");
  1493. testmask.blur();
  1494. assert.equal($(testmask).val(), "0,3", "Result " + $(testmask).val());
  1495. });
  1496. qunit.test("currency max = 100 - type 200 - zigtechjs", function (assert) {
  1497. var $fixture = $("#qunit-fixture");
  1498. $fixture.append('<input type="text" id="testmask" />');
  1499. var testmask = document.getElementById("testmask");
  1500. Inputmask("percentage", {
  1501. placeholder: "_",
  1502. digitsOptional: false,
  1503. max: 100,
  1504. }).mask(testmask);
  1505. testmask.focus();
  1506. $("#testmask").Type("200");
  1507. testmask.blur();
  1508. assert.equal($(testmask).val(), "100.00 %", "Result " + $(testmask).val());
  1509. });
  1510. qunit.test("Numbers get swapped when cursor near suffix. #1278 - xklepio", function (assert) {
  1511. var $fixture = $("#qunit-fixture");
  1512. $fixture.append('<input type="text" id="testmask" />');
  1513. var testmask = document.getElementById("testmask");
  1514. Inputmask('decimal', {
  1515. radixPoint: ',',
  1516. groupSeparator: '.',
  1517. autoGroup: true,
  1518. repeat: 10,
  1519. digits: '2',
  1520. autoUnmask: true,
  1521. suffix: ' €'
  1522. }).mask(testmask);
  1523. testmask.focus();
  1524. $.caret(testmask, 1);
  1525. $("#testmask").Type("52");
  1526. assert.equal($("#testmask")[0].inputmask._valueGet(), "52 €", "Result " + $("#testmask")[0].inputmask._valueGet());
  1527. });
  1528. qunit.test("numeric + numericInput #1328 - douglasdtc", function (assert) {
  1529. var $fixture = $("#qunit-fixture");
  1530. $fixture.append('<input type="text" id="testmask" />');
  1531. var testmask = document.getElementById("testmask");
  1532. Inputmask("numeric", {
  1533. 'groupSeparator': '.',
  1534. 'groupSize': 3,
  1535. 'radixPoint': ',',
  1536. 'numericInput': true,
  1537. 'digits': 2
  1538. }).mask(testmask);
  1539. testmask.focus();
  1540. $("#testmask").val("237,38");
  1541. assert.equal(testmask.value, "237,38", "Result " + testmask.value);
  1542. });
  1543. qunit.test("numeric + type -", function (assert) {
  1544. var $fixture = $("#qunit-fixture");
  1545. $fixture.append('<input type="text" id="testmask" />');
  1546. var testmask = document.getElementById("testmask");
  1547. Inputmask("currency", {negationSymbol: {front: "(", back: ")"}}).mask(testmask);
  1548. testmask.focus();
  1549. $.caret(testmask, 1);
  1550. $("#testmask").Type("-");
  1551. assert.equal(testmask.value, "($ 0.00)", "Result " + testmask.value);
  1552. });
  1553. qunit.test("numeric + type 123 - select partial type 0", function (assert) {
  1554. var $fixture = $("#qunit-fixture");
  1555. $fixture.append('<input type="text" id="testmask" />');
  1556. var testmask = document.getElementById("testmask");
  1557. Inputmask("currency").mask(testmask);
  1558. testmask.focus();
  1559. $("#testmask").Type("123");
  1560. $.caret(testmask, 0, 5);
  1561. $("#testmask").Type("0");
  1562. assert.equal(testmask.inputmask._valueGet(), "$ 0.00", "Result " + testmask.inputmask._valueGet());
  1563. });
  1564. qunit.test("numeric + groupSeparator: \" \" backspace, - krajcot", function (assert) {
  1565. var $fixture = $("#qunit-fixture");
  1566. $fixture.append('<input type="text" id="testmask" />');
  1567. var testmask = document.getElementById("testmask");
  1568. Inputmask("currency", {
  1569. digits: 0,
  1570. groupSeparator: " ",
  1571. autoGroup: true
  1572. }).mask(testmask);
  1573. testmask.focus();
  1574. $("#testmask").Type("1");
  1575. $.caret(testmask, 3);
  1576. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  1577. assert.equal(testmask.inputmask._valueGet(), "$ 0", "Result " + testmask.inputmask._valueGet());
  1578. });
  1579. qunit.test("numeric + groupSeparator: \" \" delete, - krajcot", function (assert) {
  1580. var $fixture = $("#qunit-fixture");
  1581. $fixture.append('<input type="text" id="testmask" />');
  1582. var testmask = document.getElementById("testmask");
  1583. Inputmask("currency", {
  1584. digits: 0,
  1585. groupSeparator: " ",
  1586. autoGroup: true
  1587. }).mask(testmask);
  1588. testmask.focus();
  1589. $("#testmask").Type("1");
  1590. $.caret(testmask, 2);
  1591. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  1592. assert.equal(testmask.inputmask._valueGet(), "$ 0", "Result " + testmask.inputmask._valueGet());
  1593. });
  1594. qunit.test("minvalue, - serGlazkov", function (assert) {
  1595. var $fixture = $("#qunit-fixture");
  1596. $fixture.append('<input type="text" id="testmask" />');
  1597. var testmask = document.getElementById("testmask");
  1598. Inputmask({
  1599. alias: 'integer',
  1600. autoUnmask: true,
  1601. rightAlign: false,
  1602. min: 18,
  1603. max: 80,
  1604. prefix: '',
  1605. suffix: ' %',
  1606. }).mask(testmask);
  1607. testmask.focus();
  1608. $("#testmask").Type("30");
  1609. $.caret(testmask, 1);
  1610. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  1611. $("#testmask").Type("1");
  1612. assert.equal(testmask.inputmask._valueGet(), "31 %", "Result " + testmask.inputmask._valueGet());
  1613. });
  1614. });