tests_numericinput.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. module("Direction RTL");
  2. asyncTest("inputmask(\"999.999.999\") - delete 2nd with backspace, continue the mask", function() {
  3. var $fixture = $("#qunit-fixture");
  4. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  5. $("#testmask").inputmask("999.999.999");
  6. $("#testmask")[0].focus();
  7. setTimeout(function() {
  8. $("#testmask").SendKey("1");
  9. $("#testmask").SendKey("2");
  10. $("#testmask").SendKey("3");
  11. $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
  12. $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
  13. $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
  14. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  15. $("#testmask").SendKey("4");
  16. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  17. $("#testmask").SendKey("5");
  18. $("#testmask").SendKey("6");
  19. start();
  20. equal($("#testmask").val(), "___._65.341", "Result " + $("#testmask").val());
  21. $("#testmask").remove();
  22. }, 0);
  23. });
  24. asyncTest("inputmask(\"999.999.999\") - delete 2nd with delete, continue the mask", function() {
  25. var $fixture = $("#qunit-fixture");
  26. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  27. $("#testmask").inputmask("999.999.999");
  28. $("#testmask")[0].focus();
  29. setTimeout(function() {
  30. $("#testmask").SendKey("1");
  31. $("#testmask").SendKey("2");
  32. $("#testmask").SendKey("3");
  33. $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
  34. $("#testmask").SendKey(Inputmask.keyCode.RIGHT);
  35. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  36. $("#testmask").SendKey("4");
  37. $("#testmask").SendKey(Inputmask.keyCode.LEFT);
  38. $("#testmask").SendKey("5");
  39. $("#testmask").SendKey("6");
  40. start();
  41. equal($("#testmask").val(), "___._65.341", "Result " + $("#testmask").val());
  42. $("#testmask").remove();
  43. }, 0);
  44. });
  45. asyncTest("inputmask(\"999-aaa-999\")", function() {
  46. var $fixture = $("#qunit-fixture");
  47. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  48. $("#testmask").inputmask("999-aaa-999");
  49. $("#testmask")[0].focus();
  50. setTimeout(function() {
  51. $("#testmask").Type("123abc12");
  52. start();
  53. equal($("#testmask").val(), "_21-cba-321", "Result " + $("#testmask").val());
  54. $("#testmask").remove();
  55. }, 0);
  56. });
  57. asyncTest("inputmask(\"999-999-999\") - replace selection", function() {
  58. var $fixture = $("#qunit-fixture");
  59. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  60. $("#testmask").inputmask("999-999-999");
  61. $("#testmask")[0].focus();
  62. setTimeout(function() {
  63. $("#testmask").Type("123456789");
  64. $.caret($("#testmask"), 4, 7);
  65. $("#testmask").Type("5");
  66. start();
  67. equal($("#testmask").val(), "__9-875-321", "Result " + $("#testmask").val());
  68. $("#testmask").remove();
  69. }, 0);
  70. });
  71. asyncTest("inputmask(\"999-999-999\") - replace selection with backspace", function() {
  72. var $fixture = $("#qunit-fixture");
  73. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  74. $("#testmask").inputmask("999-999-999");
  75. $("#testmask")[0].focus();
  76. setTimeout(function() {
  77. $("#testmask").Type("123456789");
  78. $.caret($("#testmask"), 4, 7);
  79. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  80. $("#testmask").Type("5");
  81. start();
  82. equal($("#testmask").val(), "__9-875-321", "Result " + $("#testmask").val());
  83. $("#testmask").remove();
  84. }, 0);
  85. });
  86. asyncTest("inputmask(\"999-999-999\") - replace selection - with delete", function() {
  87. var $fixture = $("#qunit-fixture");
  88. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  89. $("#testmask").inputmask("999-999-999");
  90. $("#testmask")[0].focus();
  91. setTimeout(function() {
  92. $("#testmask").Type("123456789");
  93. $.caret($("#testmask"), 4, 7);
  94. $("#testmask").SendKey(Inputmask.keyCode.DELETE);
  95. $("#testmask").Type("5");
  96. start();
  97. equal($("#testmask").val(), "__9-875-321", "Result " + $("#testmask").val());
  98. $("#testmask").remove();
  99. }, 0);
  100. });
  101. module("Numeric Input");
  102. asyncTest("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - 1234567890", function() {
  103. var $fixture = $("#qunit-fixture");
  104. $fixture.append('<input type="text" id="testmask" />');
  105. $("#testmask").inputmask({
  106. mask: "9",
  107. numericInput: true,
  108. repeat: 10,
  109. greedy: true
  110. });
  111. $("#testmask")[0].focus();
  112. setTimeout(function() {
  113. $("#testmask").Type("1234567890");
  114. start();
  115. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  116. $("#testmask").remove();
  117. }, 0);
  118. });
  119. asyncTest("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - replace selection", function() {
  120. var $fixture = $("#qunit-fixture");
  121. $fixture.append('<input type="text" id="testmask" />');
  122. $("#testmask").inputmask({
  123. mask: "9",
  124. numericInput: true,
  125. repeat: 10,
  126. greedy: true
  127. });
  128. $("#testmask")[0].focus();
  129. setTimeout(function() {
  130. $("#testmask").Type("1234567890");
  131. $.caret($("#testmask"), 3, 6);
  132. $("#testmask").Type("5");
  133. start();
  134. equal($("#testmask").val(), "__12357890", "Result " + $("#testmask").val());
  135. $("#testmask").remove();
  136. }, 0);
  137. });
  138. asyncTest("inputmask({ mask: \"99-99-99\", numericInput: true }); - 1234567890", function() {
  139. var $fixture = $("#qunit-fixture");
  140. $fixture.append('<input type="text" id="testmask" />');
  141. $("#testmask").inputmask({
  142. mask: "99-99-99",
  143. numericInput: true
  144. });
  145. $("#testmask")[0].focus();
  146. setTimeout(function() {
  147. $("#testmask").Type("1234567890");
  148. start();
  149. equal($("#testmask").val(), "12-34-56", "Result " + $("#testmask").val());
  150. $("#testmask").remove();
  151. }, 0);
  152. });
  153. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123", function() {
  154. var $fixture = $("#qunit-fixture");
  155. $fixture.append('<input type="text" id="testmask" />');
  156. $("#testmask").inputmask('€ 999.999.999,99', {
  157. numericInput: true
  158. });
  159. $("#testmask")[0].focus();
  160. setTimeout(function() {
  161. $("#testmask").Type("123");
  162. start();
  163. equal($("#testmask").val(), "€ ___.___.__1,23", "Result " + $("#testmask").val());
  164. $("#testmask").remove();
  165. }, 0);
  166. });
  167. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123 position before 456", function() {
  168. var $fixture = $("#qunit-fixture");
  169. $fixture.append('<input type="text" id="testmask" />');
  170. $("#testmask").inputmask('€ 999.999.999,99', {
  171. numericInput: true
  172. });
  173. $("#testmask")[0].focus();
  174. setTimeout(function() {
  175. $("#testmask").Type("123");
  176. $.caret($("#testmask"), 12);
  177. $("#testmask").Type("456");
  178. start();
  179. equal($("#testmask").val(), "€ ___.__4.561,23", "Result " + $("#testmask").val());
  180. $("#testmask").remove();
  181. }, 0);
  182. });
  183. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123", function() {
  184. var $fixture = $("#qunit-fixture");
  185. $fixture.append('<input type="text" id="testmask" />');
  186. $("#testmask").inputmask('€ 999.999.999,99', {
  187. numericInput: true,
  188. radixPoint: ","
  189. });
  190. $("#testmask")[0].focus();
  191. $("#testmask").click();
  192. setTimeout(function() {
  193. $("#testmask").Type("123");
  194. equal($("#testmask").val(), "€ ___.___.__1,23", "Result " + $("#testmask").val());
  195. start();
  196. $("#testmask").remove();
  197. }, 0);
  198. });
  199. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123,45", function() {
  200. var $fixture = $("#qunit-fixture");
  201. $fixture.append('<input type="text" id="testmask" />');
  202. $("#testmask").inputmask('€ 999.999.999,99', {
  203. numericInput: true,
  204. radixPoint: ","
  205. });
  206. $("#testmask")[0].focus();
  207. $("#testmask").click();
  208. setTimeout(function() {
  209. $("#testmask").Type("123,45");
  210. equal($("#testmask").val(), "€ ___.___.123,45", "Result " + $("#testmask").val());
  211. start();
  212. $("#testmask").remove();
  213. }, 0);
  214. });
  215. asyncTest("inputmask({ mask: \"9999 t\", { numericInput: true }); - 123 - Joe Rosa", function() {
  216. var $fixture = $("#qunit-fixture");
  217. $fixture.append('<input type="text" id="testmask" />');
  218. $("#testmask").inputmask('9999 t', {
  219. numericInput: true
  220. });
  221. $("#testmask").focus();
  222. $("#testmask").click();
  223. setTimeout(function() {
  224. $("#testmask").Type("123");
  225. start();
  226. equal($("#testmask").val(), "_123 t", "Result " + $("#testmask").val());
  227. $("#testmask").remove();
  228. }, 0);
  229. });
  230. asyncTest("inputmask({ mask: \"9999 t\", { numericInput: true, autoUnmask: true }); - 70 - Joe Rosa", function() {
  231. var $fixture = $("#qunit-fixture");
  232. $fixture.append('<input type="text" id="testmask" />');
  233. $("#testmask").inputmask('9999 t', {
  234. numericInput: true,
  235. autoUnmask: true
  236. });
  237. $("#testmask").focus();
  238. $("#testmask").click();
  239. setTimeout(function() {
  240. $("#testmask").Type("70");
  241. start();
  242. equal($("#testmask").val(), "70", "Result " + $("#testmask").val());
  243. $("#testmask").remove();
  244. }, 0);
  245. });
  246. asyncTest("inputmask({ mask: \"['$9.99', '$99.99', '$999.99', '$9,999.99', '$99,999.99', '$999,999.99', '$9,999,999.99', '$99,999,999.99', '$999,999,999.99'], 'placeholder': ' ', 'numericInput': true, 'rightAlignNumerics': false\" value=\"$100000.00\"", function() {
  247. var $fixture = $("#qunit-fixture");
  248. $fixture.append("<input type=\"text\" id=\"testmask\" data-inputmask=\"'mask': ['$9.99', '$99.99', '$999.99', '$9,999.99', '$99,999.99', '$999,999.99', '$9,999,999.99', '$99,999,999.99', '$999,999,999.99'], 'placeholder': ' ', 'numericInput': true, 'rightAlignNumerics': false\" value=\"$100000.00\"/>");
  249. $("#testmask").inputmask();
  250. setTimeout(function() {
  251. equal($("#testmask").val(), "$100,000.00", "Result " + $("#testmask").val());
  252. start();
  253. $("#testmask").remove();
  254. }, 0);
  255. });
  256. asyncTest("cuurency - numericInput: true - 123456 backspace everything", function() {
  257. var $fixture = $("#qunit-fixture");
  258. $fixture.append('<input type="text" id="testmask" />');
  259. $("#testmask").inputmask("currency", {
  260. numericInput: true
  261. });
  262. $("#testmask")[0].focus();
  263. setTimeout(function() {
  264. $("#testmask").Type("123456");
  265. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  266. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  267. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  268. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  269. start();
  270. equal($("#testmask").val(), "$ 0.12", "Result " + $("#testmask").val());
  271. $("#testmask").remove();
  272. }, 0);
  273. });