tests_paste.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. export default function (qunit, Inputmask) {
  2. const $ = Inputmask.dependencyLib;
  3. qunit.module("Paste value");
  4. qunit.test(
  5. 'inputmask("+7 (999) 999-99-99") ~ paste "+79114041112"',
  6. function (assert) {
  7. const done = assert.async(),
  8. $fixture = $("#qunit-fixture");
  9. $fixture.append('<input type="text" id="testmask" />');
  10. const testmask = document.getElementById("testmask");
  11. Inputmask("+7 (999) 999-99-99").mask(testmask);
  12. testmask.focus();
  13. $("#testmask").paste("+79114041112");
  14. setTimeout(function () {
  15. assert.equal(
  16. testmask.value,
  17. "+7 (911) 404-11-12",
  18. "Result " + testmask.value
  19. );
  20. done();
  21. }, 0);
  22. }
  23. );
  24. qunit.test(
  25. 'inputmask("+7 (999) 999-99-99") ~ paste "+7 (9114041112___)"',
  26. function (assert) {
  27. const done = assert.async(),
  28. $fixture = $("#qunit-fixture");
  29. $fixture.append('<input type="text" id="testmask" />');
  30. const testmask = document.getElementById("testmask");
  31. Inputmask("+7 (999) 999-99-99").mask(testmask);
  32. testmask.focus();
  33. $("#testmask").paste("+7 (9114041112___)");
  34. setTimeout(function () {
  35. assert.equal(
  36. testmask.value,
  37. "+7 (911) 404-11-12",
  38. "Result " + testmask.value
  39. );
  40. done();
  41. }, 0);
  42. }
  43. );
  44. qunit.test(
  45. 'inputmask("+7 (999) 999-99-99") ~ paste "0079114041112" - monoblaine',
  46. function (assert) {
  47. const done = assert.async(),
  48. $fixture = $("#qunit-fixture");
  49. $fixture.append('<input type="text" id="testmask" />');
  50. const testmask = document.getElementById("testmask");
  51. Inputmask("+7 (999) 999-99-99", {
  52. onBeforePaste: function (pastedValue) {
  53. // just simplistic for the test ;-)
  54. const strippedValue = pastedValue.substr(3);
  55. return strippedValue;
  56. }
  57. }).mask(testmask);
  58. testmask.focus();
  59. $("#testmask").paste("0079114041112");
  60. setTimeout(function () {
  61. assert.equal(
  62. testmask.value,
  63. "+7 (911) 404-11-12",
  64. "Result " + testmask.value
  65. );
  66. done();
  67. }, 0);
  68. }
  69. );
  70. qunit.test(
  71. 'inputmask("+31 9999999999") ~ paste "3112345678" - jason16v',
  72. function (assert) {
  73. const done = assert.async(),
  74. $fixture = $("#qunit-fixture");
  75. $fixture.append('<input type="text" id="testmask" />');
  76. const testmask = document.getElementById("testmask");
  77. Inputmask("+31 9999999999").mask(testmask);
  78. testmask.focus();
  79. $("#testmask").paste("3112345678");
  80. setTimeout(function () {
  81. assert.equal(
  82. testmask.value,
  83. "+31 3112345678",
  84. "Result " + testmask.value
  85. );
  86. done();
  87. }, 0);
  88. }
  89. );
  90. qunit.test(
  91. 'inputmask("+31 9999999999") ~ paste "+3112345678" - jason16v',
  92. function (assert) {
  93. const done = assert.async(),
  94. $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. const testmask = document.getElementById("testmask");
  97. Inputmask("+31 9999999999").mask(testmask);
  98. testmask.focus();
  99. $("#testmask").paste("+3112345678");
  100. setTimeout(function () {
  101. assert.equal(
  102. testmask.value,
  103. "+31 12345678__",
  104. "Result " + testmask.value
  105. );
  106. done();
  107. }, 0);
  108. }
  109. );
  110. qunit.test(
  111. "99.999.999/9999-99 numericInput ~ paste 79100085302751__-____/..__ - imbelo",
  112. function (assert) {
  113. const done = assert.async(),
  114. $fixture = $("#qunit-fixture");
  115. $fixture.append('<input type="text" id="testmask" />');
  116. const testmask = document.getElementById("testmask");
  117. Inputmask({
  118. mask: "99.999.999/9999-99",
  119. numericInput: true
  120. }).mask(testmask);
  121. testmask.focus();
  122. $("#testmask").paste("79100085302751");
  123. setTimeout(function () {
  124. assert.equal(
  125. testmask.value,
  126. "79.100.085/3027-51",
  127. "Result " + testmask.value
  128. );
  129. done();
  130. }, 0);
  131. }
  132. );
  133. qunit.test("currency ~ $123.22 - sjk07", function (assert) {
  134. const done = assert.async(),
  135. $fixture = $("#qunit-fixture");
  136. $fixture.append('<input type="text" id="testmask" />');
  137. const testmask = document.getElementById("testmask");
  138. Inputmask("currency", {
  139. prefix: "$ "
  140. }).mask(testmask);
  141. testmask.focus();
  142. $("#testmask").paste("$123.22");
  143. setTimeout(function () {
  144. assert.equal(testmask.value, "$ 123.22", "Result " + testmask.value);
  145. done();
  146. }, 0);
  147. });
  148. qunit.test("currency ~ $-123.22 - sjk07", function (assert) {
  149. const done = assert.async(),
  150. $fixture = $("#qunit-fixture");
  151. $fixture.append('<input type="text" id="testmask" />');
  152. const testmask = document.getElementById("testmask");
  153. Inputmask("currency", {
  154. prefix: "$ "
  155. }).mask(testmask);
  156. testmask.focus();
  157. $("#testmask").paste("$-123.22");
  158. setTimeout(function () {
  159. assert.equal(testmask.value, "-$ 123.22", "Result " + testmask.value);
  160. done();
  161. }, 0);
  162. });
  163. qunit.test("currency ~ 1000.00 - sjk07", function (assert) {
  164. const done = assert.async(),
  165. $fixture = $("#qunit-fixture");
  166. $fixture.append('<input type="text" id="testmask" />');
  167. const testmask = document.getElementById("testmask");
  168. Inputmask("currency", {
  169. prefix: "$ "
  170. }).mask(testmask);
  171. testmask.focus();
  172. $("#testmask").paste("1000.00");
  173. setTimeout(function () {
  174. assert.equal(testmask.value, "$ 1,000.00", "Result " + testmask.value);
  175. done();
  176. }, 0);
  177. });
  178. qunit.test("currency ~ -1000.00 - sjk07", function (assert) {
  179. const done = assert.async(),
  180. $fixture = $("#qunit-fixture");
  181. $fixture.append('<input type="text" id="testmask" />');
  182. const testmask = document.getElementById("testmask");
  183. Inputmask("currency", {
  184. prefix: "$ "
  185. }).mask(testmask);
  186. testmask.focus();
  187. $("#testmask").paste("-1000.00");
  188. setTimeout(function () {
  189. assert.equal(testmask.value, "-$ 1,000.00", "Result " + testmask.value);
  190. done();
  191. }, 0);
  192. });
  193. qunit.test("currency ~ $1000.00 - sjk07", function (assert) {
  194. const done = assert.async(),
  195. $fixture = $("#qunit-fixture");
  196. $fixture.append('<input type="text" id="testmask" />');
  197. const testmask = document.getElementById("testmask");
  198. Inputmask("currency", {
  199. prefix: "$ "
  200. }).mask(testmask);
  201. testmask.focus();
  202. $("#testmask").paste("$1000.00");
  203. setTimeout(function () {
  204. assert.equal(testmask.value, "$ 1,000.00", "Result " + testmask.value);
  205. done();
  206. }, 0);
  207. });
  208. qunit.test("currency ~ $-1000.00 - sjk07", function (assert) {
  209. const done = assert.async(),
  210. $fixture = $("#qunit-fixture");
  211. $fixture.append('<input type="text" id="testmask" />');
  212. const testmask = document.getElementById("testmask");
  213. Inputmask("currency", {
  214. prefix: "$ "
  215. }).mask(testmask);
  216. testmask.focus();
  217. $("#testmask").paste("$-1000.00");
  218. setTimeout(function () {
  219. assert.equal(testmask.value, "-$ 1,000.00", "Result " + testmask.value);
  220. done();
  221. }, 0);
  222. });
  223. qunit.test("currency ~ 000.02 - sjk07", function (assert) {
  224. const done = assert.async(),
  225. $fixture = $("#qunit-fixture");
  226. $fixture.append('<input type="text" id="testmask" />');
  227. const testmask = document.getElementById("testmask");
  228. Inputmask("currency", {
  229. prefix: "$ "
  230. }).mask(testmask);
  231. testmask.focus();
  232. $("#testmask").paste("000.02");
  233. setTimeout(function () {
  234. $(testmask).trigger("blur");
  235. assert.equal(testmask.value, "$ 0.02", "Result " + testmask.value);
  236. done();
  237. }, 0);
  238. });
  239. qunit.test("02.999.999 ~ paste 02.024.900 - tnavarra", function (assert) {
  240. const done = assert.async(),
  241. $fixture = $("#qunit-fixture");
  242. $fixture.append('<input type="text" id="testmask" />');
  243. const testmask = document.getElementById("testmask");
  244. Inputmask("02.999.999").mask(testmask);
  245. testmask.focus();
  246. $("#testmask").paste("02.024.900");
  247. setTimeout(function () {
  248. assert.equal(testmask.value, "02.024.900", "Result " + testmask.value);
  249. done();
  250. }, 0);
  251. });
  252. qunit.test("R9999999999 ~ paste 1234567890 - s-a", function (assert) {
  253. const done = assert.async(),
  254. $fixture = $("#qunit-fixture");
  255. $fixture.append('<input type="text" id="testmask" />');
  256. const testmask = document.getElementById("testmask");
  257. Inputmask("R9999999999", {
  258. placeholder: "0",
  259. showMaskOnFocus: false,
  260. numericInput: true
  261. }).mask(testmask);
  262. $("#testmask").trigger("click");
  263. $("#testmask").paste("1234567890");
  264. setTimeout(function () {
  265. assert.equal(testmask.value, "R1234567890", "Result " + testmask.value);
  266. done();
  267. }, 0);
  268. });
  269. qunit.test("+3719{8} ~ paste 27000000 - jurchiks", function (assert) {
  270. const done = assert.async(),
  271. $fixture = $("#qunit-fixture");
  272. $fixture.append('<input type="text" id="testmask" />');
  273. const testmask = document.getElementById("testmask");
  274. Inputmask("+3719{8}", {}).mask(testmask);
  275. $("#testmask").trigger("click");
  276. $("#testmask").paste("27000000");
  277. setTimeout(function () {
  278. assert.equal(testmask.value, "+37127000000", "Result " + testmask.value);
  279. done();
  280. }, 0);
  281. });
  282. qunit.test(
  283. "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@\\d\\o\\m\\a\\i\\n\\n\\a\\m\\e\\.\\c\\o\\m ~ paste construct - twoeyessoftware",
  284. function (assert) {
  285. const done = assert.async(),
  286. $fixture = $("#qunit-fixture");
  287. $fixture.append('<input type="text" id="testmask" />');
  288. const testmask = document.getElementById("testmask");
  289. Inputmask(
  290. "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@\\d\\o\\m\\a\\i\\n\\n\\a\\m\\e\\.\\c\\o\\m",
  291. {}
  292. ).mask(testmask);
  293. $("#testmask").trigger("click");
  294. $("#testmask").paste("construct");
  295. setTimeout(function () {
  296. assert.equal(
  297. testmask.value,
  298. "construct@domainname.com",
  299. "Result " + testmask.value
  300. );
  301. done();
  302. }, 0);
  303. }
  304. );
  305. qunit.test("decimal select all paste - #2603", function (assert) {
  306. const done = assert.async(),
  307. $fixture = $("#qunit-fixture");
  308. $fixture.append('<input type="text" id="testmask" />');
  309. const testmask = document.getElementById("testmask");
  310. Inputmask({
  311. alias: "decimal",
  312. allowMinus: true,
  313. autoGroup: true,
  314. clearMaskOnLostFocus: false,
  315. digits: 2,
  316. digitsOptional: false,
  317. greedy: false,
  318. groupSeparator: "",
  319. groupSize: 3,
  320. max: "99999.99",
  321. min: -99999.99
  322. }).mask(testmask);
  323. testmask.focus();
  324. $("#testmask").Type("987.23");
  325. $.caret(testmask, 0, testmask.value.length);
  326. $("#testmask").paste("1234.56");
  327. setTimeout(function () {
  328. $(testmask).trigger("blur");
  329. assert.equal(testmask.value, "1234.56", "Result " + testmask.value);
  330. done();
  331. }, 0);
  332. });
  333. }