tests_numeric.js 62 KB

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