tests_keepStatic.js 15 KB

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