tests_optional.js 11 KB

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