tests_numericinput.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  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(keyCodes.RIGHT);
  12. $("#testmask").SendKey(keyCodes.RIGHT);
  13. $("#testmask").SendKey(keyCodes.RIGHT);
  14. $("#testmask").SendKey(keyCodes.BACKSPACE);
  15. $("#testmask").SendKey("4");
  16. $("#testmask").SendKey(keyCodes.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(keyCodes.RIGHT);
  34. $("#testmask").SendKey(keyCodes.RIGHT);
  35. $("#testmask").SendKey(keyCodes.DELETE);
  36. $("#testmask").SendKey("4");
  37. $("#testmask").SendKey(keyCodes.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(keyCodes.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(keyCodes.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({ mask: "9", numericInput: true, repeat: 10, greedy: true });
  106. $("#testmask")[0].focus();
  107. setTimeout(function () {
  108. $("#testmask").Type("1234567890");
  109. start();
  110. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  111. $("#testmask").remove();
  112. }, 0);
  113. });
  114. asyncTest("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - replace selection", function () {
  115. var $fixture = $("#qunit-fixture");
  116. $fixture.append('<input type="text" id="testmask" />');
  117. $("#testmask").inputmask({ mask: "9", numericInput: true, repeat: 10, greedy: true });
  118. $("#testmask")[0].focus();
  119. setTimeout(function () {
  120. $("#testmask").Type("1234567890");
  121. caret($("#testmask"), 3, 6);
  122. $("#testmask").Type("5");
  123. start();
  124. equal($("#testmask").val(), "__12357890", "Result " + $("#testmask").val());
  125. $("#testmask").remove();
  126. }, 0);
  127. });
  128. asyncTest("inputmask({ mask: \"99-99-99\", numericInput: true }); - 1234567890", function () {
  129. var $fixture = $("#qunit-fixture");
  130. $fixture.append('<input type="text" id="testmask" />');
  131. $("#testmask").inputmask({ mask: "99-99-99", numericInput: true });
  132. $("#testmask")[0].focus();
  133. setTimeout(function () {
  134. $("#testmask").Type("1234567890");
  135. start();
  136. equal($("#testmask").val(), "12-34-56", "Result " + $("#testmask").val());
  137. $("#testmask").remove();
  138. }, 0);
  139. });
  140. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123", function () {
  141. var $fixture = $("#qunit-fixture");
  142. $fixture.append('<input type="text" id="testmask" />');
  143. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true });
  144. $("#testmask")[0].focus();
  145. setTimeout(function () {
  146. $("#testmask").Type("123");
  147. start();
  148. equal($("#testmask").val(), "€ ___.___.__1,23", "Result " + $("#testmask").val());
  149. $("#testmask").remove();
  150. }, 0);
  151. });
  152. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123 position before 456", function () {
  153. var $fixture = $("#qunit-fixture");
  154. $fixture.append('<input type="text" id="testmask" />');
  155. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true });
  156. $("#testmask")[0].focus();
  157. setTimeout(function () {
  158. $("#testmask").Type("123");
  159. caret($("#testmask"), 12);
  160. $("#testmask").Type("456");
  161. start();
  162. equal($("#testmask").val(), "€ ___.__4.561,23", "Result " + $("#testmask").val());
  163. $("#testmask").remove();
  164. }, 0);
  165. });
  166. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123 - radixpoint has no logic anymore in base", function () {
  167. var $fixture = $("#qunit-fixture");
  168. $fixture.append('<input type="text" id="testmask" />');
  169. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true, radixPoint: "," });
  170. $("#testmask")[0].focus();
  171. $("#testmask").click();
  172. setTimeout(function () {
  173. $("#testmask").Type("123");
  174. equal($("#testmask").val(), "€ ___.___.__1,23", "Result " + $("#testmask").val());
  175. start();
  176. $("#testmask").remove();
  177. }, 0);
  178. });
  179. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123,45", function () {
  180. var $fixture = $("#qunit-fixture");
  181. $fixture.append('<input type="text" id="testmask" />');
  182. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true, radixPoint: "," });
  183. $("#testmask")[0].focus();
  184. $("#testmask").click();
  185. setTimeout(function () {
  186. $("#testmask").Type("123,45");
  187. equal($("#testmask").val(), "€ ___.___.123,45", "Result " + $("#testmask").val());
  188. start();
  189. $("#testmask").remove();
  190. }, 0);
  191. });
  192. asyncTest("inputmask({ mask: \"9999 t\", { numericInput: true }); - 123 - Joe Rosa", function () {
  193. var $fixture = $("#qunit-fixture");
  194. $fixture.append('<input type="text" id="testmask" />');
  195. $("#testmask").inputmask('9999 t', { numericInput: true });
  196. $("#testmask").focus();
  197. $("#testmask").click();
  198. setTimeout(function () {
  199. $("#testmask").Type("123");
  200. start();
  201. equal($("#testmask").val(), "_123 t", "Result " + $("#testmask").val());
  202. $("#testmask").remove();
  203. }, 0);
  204. });
  205. asyncTest("inputmask({ mask: \"9999 t\", { numericInput: true, autoUnmask: true }); - 70 - Joe Rosa", function () {
  206. var $fixture = $("#qunit-fixture");
  207. $fixture.append('<input type="text" id="testmask" />');
  208. $("#testmask").inputmask('9999 t', { numericInput: true, autoUnmask: true });
  209. $("#testmask").focus();
  210. $("#testmask").click();
  211. setTimeout(function () {
  212. $("#testmask").Type("70");
  213. start();
  214. equal($("#testmask").val(), "70", "Result " + $("#testmask").val());
  215. $("#testmask").remove();
  216. }, 0);
  217. });
  218. 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 () {
  219. var $fixture = $("#qunit-fixture");
  220. $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\"/>");
  221. $("#testmask").inputmask();
  222. setTimeout(function () {
  223. equal($("#testmask").val(), "$100,000.00", "Result " + $("#testmask").val());
  224. start();
  225. $("#testmask").remove();
  226. }, 0);
  227. });