tests_keepStatic.js 13 KB

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