tests_numeric.js 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844
  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. assert.equal(testmask.inputmask._valueGet(), "1000", "Result " + testmask.inputmask._valueGet());
  1262. });
  1263. qunit.test("numeric alias - value=\"-1234\" minvalue = -1000", function (assert) {
  1264. var $fixture = $("#qunit-fixture");
  1265. $fixture.append('<input type="text" id="testmask" value="-1234" />');
  1266. var testmask = document.getElementById("testmask");
  1267. Inputmask("numeric", {
  1268. allowMinus: true,
  1269. min: -1000,
  1270. max: 3000
  1271. }).mask(testmask);
  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. });