tests_optional.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. export default function (qunit, Inputmask) {
  2. var $ = Inputmask.dependencyLib;
  3. qunit.module("Optional");
  4. qunit.test("inputmask(\"(99) 9999[9]-99999\") - input 121234-12345", function (assert) {
  5. var $fixture = $("#qunit-fixture");
  6. $fixture.append('<input type="text" id="testmask" />');
  7. var testmask = document.getElementById("testmask");
  8. Inputmask("(99) 9999[9]-99999").mask(testmask);
  9. testmask.focus();
  10. $("#testmask").Type("121234-12345");
  11. assert.equal(testmask.value, "(12) 1234-12345", "Result " + testmask.value);
  12. });
  13. qunit.test("inputmask(\"(99) 9999[9]-99999\") - input 121234512345", function (assert) {
  14. var $fixture = $("#qunit-fixture");
  15. $fixture.append('<input type="text" id="testmask" />');
  16. var testmask = document.getElementById("testmask");
  17. Inputmask("(99) 9999[9]-99999").mask(testmask);
  18. testmask.focus();
  19. $("#testmask").Type("121234512345");
  20. assert.equal(testmask.value, "(12) 12345-12345", "Result " + testmask.value);
  21. });
  22. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: true }) - input 123", function (assert) {
  23. var $fixture = $("#qunit-fixture");
  24. $fixture.append('<input type="text" id="testmask" />');
  25. var testmask = document.getElementById("testmask");
  26. Inputmask({
  27. mask: "99999[-9999]",
  28. greedy: true
  29. }).mask(testmask);
  30. testmask.focus();
  31. $("#testmask").Type("123");
  32. assert.equal(testmask.value, "123__", "Result " + testmask.value);
  33. });
  34. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123", function (assert) {
  35. var $fixture = $("#qunit-fixture");
  36. $fixture.append('<input type="text" id="testmask" />');
  37. var testmask = document.getElementById("testmask");
  38. Inputmask({
  39. mask: "99999[-9999]",
  40. greedy: false
  41. }).mask(testmask);
  42. testmask.focus();
  43. $("#testmask").Type("123");
  44. assert.equal(testmask.value, "123__", "Result " + testmask.value);
  45. });
  46. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 12345", function (assert) {
  47. var $fixture = $("#qunit-fixture");
  48. $fixture.append('<input type="text" id="testmask" />');
  49. var testmask = document.getElementById("testmask");
  50. Inputmask({
  51. mask: "99999[-9999]",
  52. greedy: false
  53. }).mask(testmask);
  54. testmask.focus();
  55. $("#testmask").Type("12345");
  56. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  57. });
  58. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456", function (assert) {
  59. var $fixture = $("#qunit-fixture");
  60. $fixture.append('<input type="text" id="testmask" />');
  61. var testmask = document.getElementById("testmask");
  62. Inputmask({
  63. mask: "99999[-9999]",
  64. greedy: false
  65. }).mask(testmask);
  66. testmask.focus();
  67. $("#testmask").Type("123456");
  68. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  69. });
  70. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456789", function (assert) {
  71. var $fixture = $("#qunit-fixture");
  72. $fixture.append('<input type="text" id="testmask" />');
  73. var testmask = document.getElementById("testmask");
  74. Inputmask({
  75. mask: "99999[-9999]",
  76. greedy: false
  77. }).mask(testmask);
  78. testmask.focus();
  79. $("#testmask").Type("123456789");
  80. assert.equal(testmask.value, "12345-6789", "Result " + testmask.value);
  81. });
  82. qunit.test("inputmask(\"9[9][9] 999[9] 9999\") - input 123123 space 1234 - vipink70", function (assert) {
  83. var $fixture = $("#qunit-fixture");
  84. $fixture.append('<input type="text" id="testmask" />');
  85. var testmask = document.getElementById("testmask");
  86. Inputmask("9[9][9] 999[9] 9999").mask(testmask);
  87. testmask.focus();
  88. $("#testmask").Type("123123");
  89. $("#testmask").SendKey(Inputmask.keyCode.SPACE);
  90. $("#testmask").Type("1234");
  91. assert.equal(testmask.value, "123 123 1234", "Result " + testmask.value);
  92. });
  93. qunit.test("inputmask('[9-]AAA.999') ", function (assert) {
  94. var $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. var testmask = document.getElementById("testmask");
  97. Inputmask('[9-]AAA.999').mask(testmask);
  98. $("#testmask").Type("1abc123");
  99. $.caret(testmask, 4, 5);
  100. $("#testmask").Type("d");
  101. assert.equal(testmask.value, "1-ABD.123", "Result " + testmask.value);
  102. });
  103. qunit.test("inputmask('9[9]:99') ", function (assert) {
  104. var $fixture = $("#qunit-fixture");
  105. $fixture.append('<input type="text" id="testmask" />');
  106. var testmask = document.getElementById("testmask");
  107. Inputmask('9[9]:99').mask(testmask);
  108. $("#testmask").Type("3:44");
  109. $.caret(testmask, 1);
  110. $("#testmask").Type("3");
  111. assert.equal(testmask.value, "33:44", "Result " + testmask.value);
  112. });
  113. qunit.test("inputmask({ mask: \"99999[-9999]\", greedy: false }) - input 123456", function (assert) {
  114. var $fixture = $("#qunit-fixture");
  115. $fixture.append('<input type="text" id="testmask" />');
  116. var testmask = document.getElementById("testmask");
  117. Inputmask({
  118. mask: "99999[-9999]",
  119. greedy: false
  120. }).mask(testmask);
  121. testmask.focus();
  122. $("#testmask").Type("123456");
  123. testmask.blur();
  124. $("#testmask").trigger("mouseenter");
  125. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  126. });
  127. qunit.test("inputmask({ mask: \"9'9{1,2}\"\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  128. var $fixture = $("#qunit-fixture");
  129. $fixture.append('<input type="text" id="testmask" />');
  130. var testmask = document.getElementById("testmask");
  131. Inputmask({
  132. mask: "9'9{1,2}\"",
  133. greedy: false,
  134. skipOptionalPartCharacter: "",
  135. "clearIncomplete": true
  136. }).mask(testmask);
  137. testmask.focus();
  138. $("#testmask").Type("12");
  139. testmask.blur();
  140. assert.equal(testmask.value, "1'2\"", "Result " + testmask.value);
  141. });
  142. qunit.test("inputmask({ mask: \"99{1,2}lb\\s\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  143. var $fixture = $("#qunit-fixture");
  144. $fixture.append('<input type="text" id="testmask" />');
  145. var testmask = document.getElementById("testmask");
  146. Inputmask({
  147. mask: "99{1,2}lb\\s",
  148. greedy: false,
  149. skipOptionalPartCharacter: "",
  150. "clearIncomplete": true
  151. }).mask(testmask);
  152. testmask.focus();
  153. $("#testmask").Type("12");
  154. testmask.blur();
  155. assert.equal(testmask.value, "12lbs", "Result " + testmask.value);
  156. });
  157. qunit.test("inputmask({ mask: \"9'9[9]\"\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  158. var $fixture = $("#qunit-fixture");
  159. $fixture.append('<input type="text" id="testmask" />');
  160. var testmask = document.getElementById("testmask");
  161. Inputmask({
  162. mask: "9'9[9]\"",
  163. greedy: false,
  164. skipOptionalPartCharacter: "",
  165. "clearIncomplete": true
  166. }).mask(testmask);
  167. testmask.focus();
  168. $("#testmask").Type("12");
  169. testmask.blur();
  170. assert.equal(testmask.value, "1'2\"", "Result " + testmask.value);
  171. });
  172. qunit.test("inputmask({ mask: \"99[9]lb\\s\", greedy: false, skipOptionalPartCharacter: \"\", \"clearIncomplete\": true }) - input 12 blur - thomstark", function (assert) {
  173. var $fixture = $("#qunit-fixture");
  174. $fixture.append('<input type="text" id="testmask" />');
  175. var testmask = document.getElementById("testmask");
  176. Inputmask({
  177. mask: "99[9]lb\\s",
  178. greedy: false,
  179. skipOptionalPartCharacter: "",
  180. "clearIncomplete": true
  181. }).mask(testmask);
  182. testmask.focus();
  183. $("#testmask").Type("12");
  184. testmask.blur();
  185. assert.equal(testmask.value, "12lbs", "Result " + testmask.value);
  186. });
  187. qunit.test(".inputmask(\"99999[-9999]\", { greedy: false }); - type 123456 backspace iscomplete?", function (assert) {
  188. var $fixture = $("#qunit-fixture");
  189. $fixture.append('<input type="text" id="testmask" />');
  190. var testmask = document.getElementById("testmask");
  191. Inputmask("99999[-9999]", {
  192. greedy: false
  193. }).mask(testmask);
  194. testmask.focus();
  195. $("#testmask").Type("123456");
  196. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  197. assert.equal(testmask.inputmask.isComplete(), true, "Result " + testmask.inputmask.isComplete());
  198. });
  199. qunit.test(".inputmask(\"99999[-9999]\", { greedy: false }); type 123456 backspace blur", function (assert) {
  200. var $fixture = $("#qunit-fixture"), done = assert.async();
  201. $fixture.append('<input type="text" id="testmask" />');
  202. var testmask = document.getElementById("testmask");
  203. Inputmask("99999[-9999]", {
  204. greedy: false
  205. }).mask(testmask);
  206. testmask.focus();
  207. $("#testmask").Type("123456");
  208. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  209. testmask.blur();
  210. setTimeout(function () {
  211. assert.equal($("#testmask")[0].inputmask._valueGet(), "12345", "Result " + $("#testmask")[0].inputmask._valueGet());
  212. done();
  213. }, 0);
  214. });
  215. qunit.test(".inputmask(\"99999[-9999]\", { greedy: false, autoUnmask: true }); type 123456 backspace", function (assert) {
  216. var $fixture = $("#qunit-fixture"), done = assert.async();
  217. $fixture.append('<input type="text" id="testmask" />');
  218. var testmask = document.getElementById("testmask");
  219. Inputmask("99999[-9999]", {
  220. greedy: false,
  221. autoUnmask: true
  222. }).mask(testmask);
  223. testmask.focus();
  224. $("#testmask").Type("123456");
  225. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  226. setTimeout(function () {
  227. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  228. done();
  229. }, 0);
  230. });
  231. qunit.test(".inputmask('999-999-9999[ ext 9{1,5}]'); - type 12345678901 backspace iscomplete? - antch", function (assert) {
  232. var $fixture = $("#qunit-fixture");
  233. $fixture.append('<input type="text" id="testmask" />');
  234. var testmask = document.getElementById("testmask");
  235. Inputmask('999-999-9999[ ext 9{1,5}]').mask(testmask);
  236. testmask.focus();
  237. $("#testmask").Type("12345678901");
  238. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  239. assert.equal(testmask.inputmask.isComplete(), true, "Result " + testmask.inputmask.isComplete());
  240. });
  241. qunit.test("inputmask({ mask: \"9999[ 9999][ 9999]\"}) - input 1234 space space - GMTA", function (assert) {
  242. var $fixture = $("#qunit-fixture");
  243. $fixture.append('<input type="text" id="testmask" />');
  244. var testmask = document.getElementById("testmask");
  245. Inputmask({
  246. mask: "9999[ 9999][ 9999]"
  247. }).mask(testmask);
  248. testmask.focus();
  249. $("#testmask").Type("1234 ");
  250. assert.equal(testmask.value, "1234", "Result " + testmask.value);
  251. });
  252. qunit.test("9999[ 9999][ 9999][ 9999][ 999] - Enfree", function (assert) {
  253. var $fixture = $("#qunit-fixture");
  254. $fixture.append('<input type="text" id="testmask" />');
  255. var testmask = document.getElementById("testmask");
  256. Inputmask({
  257. mask: '9999[ 9999][ 9999][ 9999][ 999]',
  258. placeholder: '', greedy: false
  259. }).mask(testmask);
  260. testmask.focus();
  261. $("#testmask").Type("45464748");
  262. $.caret(testmask, 2);
  263. $("#testmask").Type("0909");
  264. assert.equal(testmask.value, "4509 0946 4748", "Result " + testmask.value);
  265. });
  266. };