tests_keepStatic.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  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("keepStatic mask switching");
  12. qunit.test("{ mask: [\"+55-99-9999-9999\", \"+55-99-99999-9999\", ], keepStatic: true }", function(assert) {
  13. var $fixture = $("#qunit-fixture");
  14. $fixture.append('<input type="text" id="testmask" />');
  15. var testmask = document.getElementById("testmask");
  16. Inputmask({
  17. mask: ["+55-99-9999-9999", "+55-99-99999-9999"],
  18. keepStatic: true
  19. }).mask(testmask);
  20. testmask.focus();
  21. $("#testmask").Type("12123451234");
  22. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-12345-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  23. });
  24. qunit.test("{ mask: \"+55-99-9999|(99)-9999\", keepStatic: true } - type 12123451234", function(assert) {
  25. var $fixture = $("#qunit-fixture");
  26. $fixture.append('<input type="text" id="testmask" />');
  27. var testmask = document.getElementById("testmask");
  28. Inputmask({
  29. mask: "+55-99-9999|(99)-9999",
  30. keepStatic: true
  31. }).mask(testmask);
  32. testmask.focus();
  33. $("#testmask").Type("12123451234");
  34. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-12345-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  35. });
  36. qunit.test("{ mask: ['(99) 9999-9999', '(99) 99999-9999'] } - val('1212341234')", function(assert) {
  37. var $fixture = $("#qunit-fixture");
  38. $fixture.append('<input type="text" id="testmask" />');
  39. var testmask = document.getElementById("testmask");
  40. Inputmask({
  41. mask: ['(99) 9999-9999', '(99) 99999-9999']
  42. }).mask(testmask);
  43. $("#testmask").val("1212341234");
  44. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1234-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  45. });
  46. qunit.test("{ mask: \"+55-99-9999|(99)-9999\", keepStatic: false } type 12123451234", 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: "+55-99-9999|(99)-9999",
  52. keepStatic: false
  53. }).mask(testmask);
  54. testmask.focus();
  55. $("#testmask").Type("12123451234");
  56. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-12345-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  57. });
  58. qunit.test("{ mask: [\"+55-99-9999-9999\", \"+55-99-99999-9999\", ], keepStatic: true } - type 12123451234 + backspace", 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: ["+55-99-9999-9999", "+55-99-99999-9999"],
  64. keepStatic: true
  65. }).mask(testmask);
  66. testmask.focus();
  67. $("#testmask").Type("12123451234");
  68. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  69. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-1234-5123", "Result " + document.getElementById("testmask").inputmask._valueGet());
  70. });
  71. qunit.test("{ mask: [\"99-9999-99\",\"99-99999-99\"] } - type 12123412 + add 1 upfront", function(assert) {
  72. var $fixture = $("#qunit-fixture");
  73. $fixture.append('<input type="text" id="testmask" />');
  74. var testmask = document.getElementById("testmask");
  75. Inputmask({
  76. mask: ["99-9999-99", "99-99999-99"]
  77. }).mask(testmask);
  78. $("#testmask").Type("12123412");
  79. $.caret(testmask, 0);
  80. $("#testmask").Type("1");
  81. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "11-21234-12", "Result " + document.getElementById("testmask").inputmask._valueGet());
  82. });
  83. qunit.test("{ mask: [\"99-99999-9\",\"99-999999-9\"] } - type 121234561", function(assert) {
  84. var $fixture = $("#qunit-fixture");
  85. $fixture.append('<input type="text" id="testmask" />');
  86. var testmask = document.getElementById("testmask");
  87. Inputmask({
  88. mask: ["99-99999-9", "99-999999-9"]
  89. }).mask(testmask);
  90. $("#testmask").Type("121234561");
  91. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12-123456-1", "Result " + document.getElementById("testmask").inputmask._valueGet());
  92. });
  93. qunit.test("{ \"keepStatic\": true, greedy: false, mask: \"(99-9)|(99999)\" } - type 12345", function(assert) {
  94. var $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. var testmask = document.getElementById("testmask");
  97. Inputmask({
  98. "keepStatic": true,
  99. greedy: false,
  100. "mask": "(99-9)|(99999)"
  101. }).mask(testmask);
  102. $("#testmask").Type("12345");
  103. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12345", "Result " + document.getElementById("testmask").inputmask._valueGet());
  104. });
  105. qunit.test("7|8 999 99 99 - hiddenman", function(assert) {
  106. var $fixture = $("#qunit-fixture");
  107. $fixture.append('<input type="text" id="testmask" />');
  108. var testmask = document.getElementById("testmask");
  109. Inputmask("7|8 999 99 99").mask(testmask);
  110. testmask.focus();
  111. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "_ ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  112. });
  113. qunit.test("7|8 999 99 99 type 7 - hiddenman", function(assert) {
  114. var $fixture = $("#qunit-fixture");
  115. $fixture.append('<input type="text" id="testmask" />');
  116. var testmask = document.getElementById("testmask");
  117. Inputmask("7|8 999 99 99").mask(testmask);
  118. $("#testmask").Type("7");
  119. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "7 ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  120. });
  121. qunit.test("7|8 999 99 99 type 8 - hiddenman", function(assert) {
  122. var $fixture = $("#qunit-fixture");
  123. $fixture.append('<input type="text" id="testmask" />');
  124. var testmask = document.getElementById("testmask");
  125. Inputmask("7|8 999 99 99").mask(testmask);
  126. $("#testmask").Type("8");
  127. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "8 ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  128. });
  129. qunit.test("(78)|(79) 999 99 99", function(assert) {
  130. var $fixture = $("#qunit-fixture");
  131. $fixture.append('<input type="text" id="testmask" />');
  132. var testmask = document.getElementById("testmask");
  133. Inputmask("(78)|(79) 999 99 99").mask(testmask);
  134. testmask.focus();
  135. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "7_ ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  136. });
  137. qunit.test("(78)|(79) 999 99 99 - type 5", function(assert) {
  138. var $fixture = $("#qunit-fixture");
  139. $fixture.append('<input type="text" id="testmask" />');
  140. var testmask = document.getElementById("testmask");
  141. Inputmask("(78)|(79) 999 99 99").mask(testmask);
  142. testmask.focus();
  143. $("#testmask").Type("5");
  144. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "75 ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  145. });
  146. qunit.test("(78)|(74) 999 99 99", function(assert) {
  147. var $fixture = $("#qunit-fixture");
  148. $fixture.append('<input type="text" id="testmask" />');
  149. var testmask = document.getElementById("testmask");
  150. Inputmask("(78)|(74) 999 99 99").mask(testmask);
  151. testmask.focus();
  152. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "7_ ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  153. });
  154. qunit.test("5-9|(9a)-5 - keepstatic: false", function(assert) {
  155. var $fixture = $("#qunit-fixture");
  156. $fixture.append('<input type="text" id="testmask" />');
  157. var testmask = document.getElementById("testmask");
  158. Inputmask({
  159. mask: "5-9|(9a)-5",
  160. keepStatic: false
  161. }).mask(testmask);
  162. testmask.focus();
  163. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "5-_-5", "Result " + document.getElementById("testmask").inputmask._valueGet());
  164. });
  165. qunit.test("['(99) 9999-9999', '(99) 9-9999-9999'] - type 12123412345 - 3m0", 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: ['(99) 9999-9999', '(99) 9-9999-9999'],
  171. removeMaskOnSubmit: false,
  172. clearmaskonlostfocus: true
  173. }).mask(testmask);
  174. testmask.focus();
  175. $("#testmask").Type("12123412345")
  176. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1-2341-2345", "Result " + document.getElementById("testmask").inputmask._valueGet());
  177. });
  178. qunit.test("['(99) 9999-9999', '(99) 9-9999-9999'] - type 12123412345 - backspace - 3m0", function(assert) {
  179. var $fixture = $("#qunit-fixture");
  180. $fixture.append('<input type="text" id="testmask" />');
  181. var testmask = document.getElementById("testmask");
  182. Inputmask({
  183. mask: ['(99) 9999-9999', '(99) 9-9999-9999'],
  184. removeMaskOnSubmit: false,
  185. clearmaskonlostfocus: true
  186. }).mask(testmask);
  187. testmask.focus();
  188. $("#testmask").Type("12123412345")
  189. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  190. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1234-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  191. });
  192. qunit.test("(99 99)|(*****) keepStatic false - type 12 abc", function(assert) {
  193. var $fixture = $("#qunit-fixture");
  194. $fixture.append('<input type="text" id="testmask" />');
  195. var testmask = document.getElementById("testmask");
  196. Inputmask("(99 99)|(*****)", {
  197. keepStatic: false
  198. }).mask(testmask);
  199. $("#testmask").Type("12 abc");
  200. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12 __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  201. });
  202. qunit.test("(99 99)|(*****) keepStatic false - type 12 123", function(assert) {
  203. var $fixture = $("#qunit-fixture");
  204. $fixture.append('<input type="text" id="testmask" />');
  205. var testmask = document.getElementById("testmask");
  206. Inputmask("(99 99)|(*****)", {
  207. keepStatic: false
  208. }).mask(testmask);
  209. $("#testmask").Type("12 123");
  210. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12 12", "Result " + document.getElementById("testmask").inputmask._valueGet());
  211. });
  212. qunit.test("(99 99)|(*****) keepStatic true - type 1212", function(assert) {
  213. var $fixture = $("#qunit-fixture");
  214. $fixture.append('<input type="text" id="testmask" />');
  215. var testmask = document.getElementById("testmask");
  216. Inputmask("(99 99)|(*****)", {
  217. keepStatic: true
  218. }).mask(testmask);
  219. $("#testmask").Type("1212");
  220. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12 12", "Result " + document.getElementById("testmask").inputmask._valueGet());
  221. });
  222. qunit.test("(99 99)|(*****) keepStatic true - type 12123", function(assert) {
  223. var $fixture = $("#qunit-fixture");
  224. $fixture.append('<input type="text" id="testmask" />');
  225. var testmask = document.getElementById("testmask");
  226. Inputmask("(99 99)|(*****)", {
  227. keepStatic: true
  228. }).mask(testmask);
  229. $("#testmask").Type("12123");
  230. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12123", "Result " + document.getElementById("testmask").inputmask._valueGet());
  231. });
  232. qunit.test("(99 99)|(*****) keepStatic true - type abcde", function(assert) {
  233. var $fixture = $("#qunit-fixture");
  234. $fixture.append('<input type="text" id="testmask" />');
  235. var testmask = document.getElementById("testmask");
  236. Inputmask("(99 99)|(*****)", {
  237. keepStatic: true
  238. }).mask(testmask);
  239. $("#testmask").Type("abcde");
  240. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "abcde", "Result " + document.getElementById("testmask").inputmask._valueGet());
  241. });
  242. qunit.test("[\"9+9\", \"(99)+99+99\"] keepStatic true - type 123 - ishytow", function(assert) {
  243. var $fixture = $("#qunit-fixture");
  244. $fixture.append('<input type="text" id="testmask" />');
  245. var testmask = document.getElementById("testmask");
  246. Inputmask(["9+9", "(99)+99+99"], {
  247. keepStatic: true
  248. }).mask(testmask);
  249. $("#testmask").Type("123");
  250. assert.equal(testmask.value, "(12)+3_+__", "Result " + testmask.value);
  251. });
  252. qunit.test("[\"9+9\", \"99+99\", \"(99)+99+99\"] keepStatic true - type 12345 - ishytow", function(assert) {
  253. var $fixture = $("#qunit-fixture");
  254. $fixture.append('<input type="text" id="testmask" />');
  255. var testmask = document.getElementById("testmask");
  256. Inputmask(["9+9", "99+99", "(99)+99+99"], {
  257. keepStatic: true
  258. }).mask(testmask);
  259. $("#testmask").Type("12345");
  260. assert.equal(testmask.value, "(12)+34+5_", "Result " + testmask.value);
  261. });
  262. qunit.test("[\"9+9\", \"99+99\", \"(99)+99+99\"] keepStatic true - type 1234 - ishytow", function(assert) {
  263. var $fixture = $("#qunit-fixture");
  264. $fixture.append('<input type="text" id="testmask" />');
  265. var testmask = document.getElementById("testmask");
  266. Inputmask(["9+9", "99+99", "(99)+99+99"], {
  267. keepStatic: true
  268. }).mask(testmask);
  269. $("#testmask").Type("1234");
  270. assert.equal(testmask.value, "12+34", "Result " + testmask.value);
  271. });
  272. qunit.test("[\"999-9999\", \"(999) 999-9999\", \"1-(999) 999-9999\"] - 999-9999 - carylewis", function(assert) {
  273. var $fixture = $("#qunit-fixture");
  274. $fixture.append('<input type="text" id="testmask" />');
  275. var testmask = document.getElementById("testmask");
  276. Inputmask(["999-9999", "(999) 999-9999", "1-(999) 999-9999"]).mask(testmask);
  277. $("#testmask").Type("1231234");
  278. assert.equal(testmask.value, "123-1234", "Result " + testmask.value);
  279. });
  280. qunit.test("[\"999-9999\", \"(999) 999-9999\", \"1-(999) 999-9999\"] - (999) 999-9999 - carylewis", function(assert) {
  281. var $fixture = $("#qunit-fixture");
  282. $fixture.append('<input type="text" id="testmask" />');
  283. var testmask = document.getElementById("testmask");
  284. Inputmask(["999-9999", "(999) 999-9999", "1-(999) 999-9999"]).mask(testmask);
  285. $("#testmask").Type("1231231234");
  286. assert.equal(testmask.value, "(123) 123-1234", "Result " + testmask.value);
  287. });
  288. qunit.test("[\"999-9999\", \"(999) 999-9999\", \"1-(999) 999-9999\"] - 1-(999) 999-9999 - carylewis", function(assert) {
  289. var $fixture = $("#qunit-fixture");
  290. $fixture.append('<input type="text" id="testmask" />');
  291. var testmask = document.getElementById("testmask");
  292. Inputmask(["999-9999", "(999) 999-9999", "1-(999) 999-9999"]).mask(testmask);
  293. $("#testmask").Type("11231231234");
  294. assert.equal(testmask.value, "1-(123) 123-1234", "Result " + testmask.value);
  295. });
  296. });