tests_numericinput.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. module("Direction RTL");
  2. test("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. $("#testmask").SendKey("1");
  8. $("#testmask").SendKey("2");
  9. $("#testmask").SendKey("3");
  10. $("#testmask").SendKey(keyCodes.RIGHT);
  11. $("#testmask").SendKey(keyCodes.RIGHT);
  12. $("#testmask").SendKey(keyCodes.RIGHT);
  13. $("#testmask").SendKey(keyCodes.BACKSPACE);
  14. $("#testmask").SendKey("4");
  15. $("#testmask").SendKey(keyCodes.LEFT);
  16. $("#testmask").SendKey("5");
  17. $("#testmask").SendKey("6");
  18. equal($("#testmask").val(), "___._65.341", "Result " + $("#testmask").val());
  19. $("#testmask").remove();
  20. });
  21. test("inputmask(\"999.999.999\") - delete 2nd with delete, continue the mask", function () {
  22. var $fixture = $("#qunit-fixture");
  23. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  24. $("#testmask").inputmask("999.999.999");
  25. $("#testmask")[0].focus();
  26. $("#testmask").SendKey("1");
  27. $("#testmask").SendKey("2");
  28. $("#testmask").SendKey("3");
  29. $("#testmask").SendKey(keyCodes.RIGHT);
  30. $("#testmask").SendKey(keyCodes.RIGHT);
  31. $("#testmask").SendKey(keyCodes.DELETE);
  32. $("#testmask").SendKey("4");
  33. $("#testmask").SendKey(keyCodes.LEFT);
  34. $("#testmask").SendKey("5");
  35. $("#testmask").SendKey("6");
  36. equal($("#testmask").val(), "___._65.341", "Result " + $("#testmask").val());
  37. $("#testmask").remove();
  38. });
  39. test("inputmask(\"999-aaa-999\")", function () {
  40. var $fixture = $("#qunit-fixture");
  41. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  42. $("#testmask").inputmask("999-aaa-999");
  43. $("#testmask")[0].focus();
  44. $("#testmask").Type("123abc12");
  45. equal($("#testmask").val(), "_21-cba-321", "Result " + $("#testmask").val());
  46. $("#testmask").remove();
  47. });
  48. test("inputmask(\"999-999-999\") - replace selection", function () {
  49. var $fixture = $("#qunit-fixture");
  50. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  51. $("#testmask").inputmask("999-999-999");
  52. $("#testmask")[0].focus();
  53. $("#testmask").Type("123456789");
  54. caret($("#testmask"), 4, 7);
  55. $("#testmask").Type("5");
  56. equal($("#testmask").val(), "__9-875-321", "Result " + $("#testmask").val());
  57. $("#testmask").remove();
  58. });
  59. test("inputmask(\"999-999-999\") - replace selection with backspace", function () {
  60. var $fixture = $("#qunit-fixture");
  61. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  62. $("#testmask").inputmask("999-999-999");
  63. $("#testmask")[0].focus();
  64. $("#testmask").Type("123456789");
  65. caret($("#testmask"), 4, 7);
  66. $("#testmask").SendKey(keyCodes.BACKSPACE);
  67. $("#testmask").Type("5");
  68. equal($("#testmask").val(), "__9-875-321", "Result " + $("#testmask").val());
  69. $("#testmask").remove();
  70. });
  71. test("inputmask(\"999-999-999\") - replace selection - with delete", 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. $("#testmask").Type("123456789");
  77. caret($("#testmask"), 4, 7);
  78. $("#testmask").SendKey(keyCodes.DELETE);
  79. $("#testmask").Type("5");
  80. equal($("#testmask").val(), "__9-875-321", "Result " + $("#testmask").val());
  81. $("#testmask").remove();
  82. });
  83. module("Numeric Input");
  84. test("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - 1234567890", function () {
  85. var $fixture = $("#qunit-fixture");
  86. $fixture.append('<input type="text" id="testmask" />');
  87. $("#testmask").inputmask({ mask: "9", numericInput: true, repeat: 10, greedy: true });
  88. $("#testmask")[0].focus();
  89. $("#testmask").Type("1234567890");
  90. equal($("#testmask").val(), "1234567890", "Result " + $("#testmask").val());
  91. $("#testmask").remove();
  92. });
  93. test("inputmask({ mask: \"9\", numericInput: true, repeat: 10, greedy: true }); - replace selection", function () {
  94. var $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. $("#testmask").inputmask({ mask: "9", numericInput: true, repeat: 10, greedy: true });
  97. $("#testmask")[0].focus();
  98. $("#testmask").Type("1234567890");
  99. caret($("#testmask"), 3, 6);
  100. $("#testmask").Type("5");
  101. equal($("#testmask").val(), "__12357890", "Result " + $("#testmask").val());
  102. $("#testmask").remove();
  103. });
  104. test("inputmask({ mask: \"99-99-99\", numericInput: true }); - 1234567890", function () {
  105. var $fixture = $("#qunit-fixture");
  106. $fixture.append('<input type="text" id="testmask" />');
  107. $("#testmask").inputmask({ mask: "99-99-99", numericInput: true });
  108. $("#testmask")[0].focus();
  109. $("#testmask").Type("1234567890");
  110. equal($("#testmask").val(), "12-34-56", "Result " + $("#testmask").val());
  111. $("#testmask").remove();
  112. });
  113. test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123", function () {
  114. var $fixture = $("#qunit-fixture");
  115. $fixture.append('<input type="text" id="testmask" />');
  116. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true });
  117. $("#testmask")[0].focus();
  118. $("#testmask").Type("123");
  119. equal($("#testmask").val(), "€ ___.___.__1,23", "Result " + $("#testmask").val());
  120. $("#testmask").remove();
  121. });
  122. test("inputmask({ mask: \"€ 999.999.999,99\", numericInput: true }); - 123 position before 456", function () {
  123. var $fixture = $("#qunit-fixture");
  124. $fixture.append('<input type="text" id="testmask" />');
  125. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true });
  126. $("#testmask")[0].focus();
  127. $("#testmask").Type("123");
  128. caret($("#testmask"), 12);
  129. $("#testmask").Type("456");
  130. equal($("#testmask").val(), "€ ___.__4.561,23", "Result " + $("#testmask").val());
  131. $("#testmask").remove();
  132. });
  133. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123 - radixpoint has no logic anymore in base", function () {
  134. var $fixture = $("#qunit-fixture");
  135. $fixture.append('<input type="text" id="testmask" />');
  136. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true, radixPoint: "," });
  137. $("#testmask")[0].focus();
  138. $("#testmask").click();
  139. setTimeout(function () {
  140. $("#testmask").Type("123");
  141. equal($("#testmask").val(), "€ ___.___.__1,23", "Result " + $("#testmask").val());
  142. start();
  143. $("#testmask").remove();
  144. }, 0);
  145. });
  146. asyncTest("inputmask({ mask: \"€ 999.999.999,99\", { numericInput: true, radixPoint: \",\" }); - 123,45", function () {
  147. var $fixture = $("#qunit-fixture");
  148. $fixture.append('<input type="text" id="testmask" />');
  149. $("#testmask").inputmask('€ 999.999.999,99', { numericInput: true, radixPoint: "," });
  150. $("#testmask")[0].focus();
  151. $("#testmask").click();
  152. setTimeout(function () {
  153. $("#testmask").Type("123,45");
  154. equal($("#testmask").val(), "€ ___.___.123,45", "Result " + $("#testmask").val());
  155. start();
  156. $("#testmask").remove();
  157. }, 0);
  158. });
  159. test("inputmask({ mask: \"9999 t\", { numericInput: true }); - 123 - Joe Rosa", function () {
  160. var $fixture = $("#qunit-fixture");
  161. $fixture.append('<input type="text" id="testmask" />');
  162. $("#testmask").inputmask('9999 t', { numericInput: true });
  163. $("#testmask").focus();
  164. $("#testmask").click();
  165. $("#testmask").Type("123");
  166. equal($("#testmask").val(), "_123 t", "Result " + $("#testmask").val());
  167. $("#testmask").remove();
  168. });
  169. test("inputmask({ mask: \"9999 t\", { numericInput: true, autoUnmask: true }); - 70 - Joe Rosa", function () {
  170. var $fixture = $("#qunit-fixture");
  171. $fixture.append('<input type="text" id="testmask" />');
  172. $("#testmask").inputmask('9999 t', { numericInput: true, autoUnmask: true });
  173. $("#testmask").focus();
  174. $("#testmask").click();
  175. $("#testmask").Type("70");
  176. equal($("#testmask").val(), "70", "Result " + $("#testmask").val());
  177. $("#testmask").remove();
  178. });
  179. 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 () {
  180. var $fixture = $("#qunit-fixture");
  181. $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\"/>");
  182. $("#testmask").inputmask();
  183. setTimeout(function () {
  184. equal($("#testmask").val(), "$100,000.00", "Result " + $("#testmask").val());
  185. start();
  186. $("#testmask").remove();
  187. }, 0);
  188. });