tests_keepStatic.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. export default function (qunit, Inputmask) {
  2. var $ = Inputmask.dependencyLib;
  3. qunit.module("keepStatic mask switching");
  4. qunit.test("{ mask: [\"+55-99-9999-9999\", \"+55-99-99999-9999\", ], keepStatic: true }", function(assert) {
  5. var $fixture = $("#qunit-fixture");
  6. $fixture.append('<input type="text" id="testmask" />');
  7. var testmask = document.getElementById("testmask");
  8. Inputmask({
  9. mask: ["+55-99-9999-9999", "+55-99-99999-9999"],
  10. keepStatic: true
  11. }).mask(testmask);
  12. testmask.focus();
  13. $("#testmask").Type("12123451234");
  14. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-12345-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  15. });
  16. qunit.test("{ mask: \"+55-99-9999|(99)-9999\", keepStatic: true } - type 12123451234", function(assert) {
  17. var $fixture = $("#qunit-fixture");
  18. $fixture.append('<input type="text" id="testmask" />');
  19. var testmask = document.getElementById("testmask");
  20. Inputmask({
  21. mask: "+55-99-9999|(99)-9999",
  22. keepStatic: true
  23. }).mask(testmask);
  24. testmask.focus();
  25. $("#testmask").Type("12123451234");
  26. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-12345-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  27. });
  28. qunit.test("{ mask: ['(99) 9999-9999', '(99) 99999-9999'] } - val('1212341234')", function(assert) {
  29. var $fixture = $("#qunit-fixture");
  30. $fixture.append('<input type="text" id="testmask" />');
  31. var testmask = document.getElementById("testmask");
  32. Inputmask({
  33. mask: ['(99) 9999-9999', '(99) 99999-9999']
  34. }).mask(testmask);
  35. $("#testmask").val("1212341234");
  36. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1234-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  37. });
  38. qunit.test("{ mask: \"+55-99-9999|(99)-9999\", keepStatic: false } type 12123451234", 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: "+55-99-9999|(99)-9999",
  44. keepStatic: false
  45. }).mask(testmask);
  46. testmask.focus();
  47. $("#testmask").Type("12123451234");
  48. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-12345-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  49. });
  50. qunit.test("{ mask: [\"+55-99-9999-9999\", \"+55-99-99999-9999\", ], keepStatic: true } - type 12123451234 + backspace", function(assert) {
  51. var $fixture = $("#qunit-fixture");
  52. $fixture.append('<input type="text" id="testmask" />');
  53. var testmask = document.getElementById("testmask");
  54. Inputmask({
  55. mask: ["+55-99-9999-9999", "+55-99-99999-9999"],
  56. keepStatic: true
  57. }).mask(testmask);
  58. testmask.focus();
  59. $("#testmask").Type("12123451234");
  60. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  61. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "+55-12-1234-5123", "Result " + document.getElementById("testmask").inputmask._valueGet());
  62. });
  63. qunit.test("{ mask: [\"99-9999-99\",\"99-99999-99\"] } - type 12123412 + add 1 upfront", function(assert) {
  64. var $fixture = $("#qunit-fixture");
  65. $fixture.append('<input type="text" id="testmask" />');
  66. var testmask = document.getElementById("testmask");
  67. Inputmask({
  68. mask: ["99-9999-99", "99-99999-99"]
  69. }).mask(testmask);
  70. $("#testmask").Type("12123412");
  71. $.caret(testmask, 0);
  72. $("#testmask").Type("1");
  73. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "11-21234-12", "Result " + document.getElementById("testmask").inputmask._valueGet());
  74. });
  75. qunit.test("{ mask: [\"99-99999-9\",\"99-999999-9\"] } - type 121234561", function(assert) {
  76. var $fixture = $("#qunit-fixture");
  77. $fixture.append('<input type="text" id="testmask" />');
  78. var testmask = document.getElementById("testmask");
  79. Inputmask({
  80. mask: ["99-99999-9", "99-999999-9"]
  81. }).mask(testmask);
  82. $("#testmask").Type("121234561");
  83. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12-123456-1", "Result " + document.getElementById("testmask").inputmask._valueGet());
  84. });
  85. qunit.test("{ \"keepStatic\": true, greedy: false, mask: \"(99-9)|(99999)\" } - type 12345", function(assert) {
  86. var $fixture = $("#qunit-fixture");
  87. $fixture.append('<input type="text" id="testmask" />');
  88. var testmask = document.getElementById("testmask");
  89. Inputmask({
  90. "keepStatic": true,
  91. greedy: false,
  92. "mask": "(99-9)|(99999)"
  93. }).mask(testmask);
  94. $("#testmask").Type("12345");
  95. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12345", "Result " + document.getElementById("testmask").inputmask._valueGet());
  96. });
  97. qunit.test("7|8 999 99 99 - hiddenman", function(assert) {
  98. var $fixture = $("#qunit-fixture");
  99. $fixture.append('<input type="text" id="testmask" />');
  100. var testmask = document.getElementById("testmask");
  101. Inputmask("7|8 999 99 99").mask(testmask);
  102. testmask.focus();
  103. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "_ ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  104. });
  105. qunit.test("7|8 999 99 99 type 7 - 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").Type("7");
  111. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "7 ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  112. });
  113. qunit.test("7|8 999 99 99 type 8 - 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("8");
  119. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "8 ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  120. });
  121. qunit.test("(78)|(79) 999 99 99", function(assert) {
  122. var $fixture = $("#qunit-fixture");
  123. $fixture.append('<input type="text" id="testmask" />');
  124. var testmask = document.getElementById("testmask");
  125. Inputmask("(78)|(79) 999 99 99").mask(testmask);
  126. testmask.focus();
  127. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "7_ ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  128. });
  129. qunit.test("(78)|(79) 999 99 99 - type 5", 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. $("#testmask").Type("5");
  136. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "75 ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  137. });
  138. qunit.test("(78)|(74) 999 99 99", function(assert) {
  139. var $fixture = $("#qunit-fixture");
  140. $fixture.append('<input type="text" id="testmask" />');
  141. var testmask = document.getElementById("testmask");
  142. Inputmask("(78)|(74) 999 99 99").mask(testmask);
  143. testmask.focus();
  144. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "7_ ___ __ __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  145. });
  146. qunit.test("5-9|(9a)-5 - keepstatic: false", function(assert) {
  147. var $fixture = $("#qunit-fixture");
  148. $fixture.append('<input type="text" id="testmask" />');
  149. var testmask = document.getElementById("testmask");
  150. Inputmask({
  151. mask: "5-9|(9a)-5",
  152. keepStatic: false
  153. }).mask(testmask);
  154. testmask.focus();
  155. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "5-_-5", "Result " + document.getElementById("testmask").inputmask._valueGet());
  156. });
  157. qunit.test("['(99) 9999-9999', '(99) 9-9999-9999'] - type 12123412345 - 3m0", 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: ['(99) 9999-9999', '(99) 9-9999-9999'],
  163. removeMaskOnSubmit: false,
  164. clearmaskonlostfocus: true
  165. }).mask(testmask);
  166. testmask.focus();
  167. $("#testmask").Type("12123412345")
  168. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1-2341-2345", "Result " + document.getElementById("testmask").inputmask._valueGet());
  169. });
  170. qunit.test("['(99) 9999-9999', '(99) 9-9999-9999'] - type 12123412345 - backspace - 3m0", function(assert) {
  171. var $fixture = $("#qunit-fixture");
  172. $fixture.append('<input type="text" id="testmask" />');
  173. var testmask = document.getElementById("testmask");
  174. Inputmask({
  175. mask: ['(99) 9999-9999', '(99) 9-9999-9999'],
  176. removeMaskOnSubmit: false,
  177. clearmaskonlostfocus: true
  178. }).mask(testmask);
  179. testmask.focus();
  180. $("#testmask").Type("12123412345")
  181. $("#testmask").SendKey(Inputmask.keyCode.BACKSPACE);
  182. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "(12) 1234-1234", "Result " + document.getElementById("testmask").inputmask._valueGet());
  183. });
  184. qunit.test("(99 99)|(*****) keepStatic false - type 12 abc", function(assert) {
  185. var $fixture = $("#qunit-fixture");
  186. $fixture.append('<input type="text" id="testmask" />');
  187. var testmask = document.getElementById("testmask");
  188. Inputmask("(99 99)|(*****)", {
  189. keepStatic: false
  190. }).mask(testmask);
  191. $("#testmask").Type("12 abc");
  192. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12 __", "Result " + document.getElementById("testmask").inputmask._valueGet());
  193. });
  194. qunit.test("(99 99)|(*****) keepStatic false - type 12 123", 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 123");
  202. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12 12", "Result " + document.getElementById("testmask").inputmask._valueGet());
  203. });
  204. qunit.test("(99 99)|(*****) keepStatic true - type 1212", 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: true
  210. }).mask(testmask);
  211. $("#testmask").Type("1212");
  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 12123", 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("12123");
  222. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "12123", "Result " + document.getElementById("testmask").inputmask._valueGet());
  223. });
  224. qunit.test("(99 99)|(*****) keepStatic true - type abcde", 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("abcde");
  232. assert.equal(document.getElementById("testmask").inputmask._valueGet(), "abcde", "Result " + document.getElementById("testmask").inputmask._valueGet());
  233. });
  234. qunit.test("[\"9+9\", \"(99)+99+99\"] keepStatic true - type 123 - ishytow", function(assert) {
  235. var $fixture = $("#qunit-fixture");
  236. $fixture.append('<input type="text" id="testmask" />');
  237. var testmask = document.getElementById("testmask");
  238. Inputmask(["9+9", "(99)+99+99"], {
  239. keepStatic: true
  240. }).mask(testmask);
  241. $("#testmask").Type("123");
  242. assert.equal(testmask.value, "(12)+3_+__", "Result " + testmask.value);
  243. });
  244. qunit.test("[\"9+9\", \"99+99\", \"(99)+99+99\"] keepStatic true - type 12345 - 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)+99+99"], {
  249. keepStatic: true
  250. }).mask(testmask);
  251. $("#testmask").Type("12345");
  252. assert.equal(testmask.value, "(12)+34+5_", "Result " + testmask.value);
  253. });
  254. qunit.test("[\"9+9\", \"99+99\", \"(99)+99+99\"] keepStatic true - type 1234 - 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("1234");
  262. assert.equal(testmask.value, "12+34", "Result " + testmask.value);
  263. });
  264. qunit.test("[\"999-9999\", \"(999) 999-9999\", \"1-(999) 999-9999\"] - 999-9999 - carylewis", function(assert) {
  265. var $fixture = $("#qunit-fixture");
  266. $fixture.append('<input type="text" id="testmask" />');
  267. var testmask = document.getElementById("testmask");
  268. Inputmask(["999-9999", "(999) 999-9999", "1-(999) 999-9999"]).mask(testmask);
  269. $("#testmask").Type("1231234");
  270. assert.equal(testmask.value, "123-1234", "Result " + testmask.value);
  271. });
  272. qunit.test("[\"999-9999\", \"(999) 999-9999\", \"1-(999) 999-9999\"] - (999) 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("1231231234");
  278. assert.equal(testmask.value, "(123) 123-1234", "Result " + testmask.value);
  279. });
  280. qunit.test("[\"999-9999\", \"(999) 999-9999\", \"1-(999) 999-9999\"] - 1-(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("11231231234");
  286. assert.equal(testmask.value, "1-(123) 123-1234", "Result " + testmask.value);
  287. });
  288. };