tests_multi.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  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("multi masks");
  14. qunit.test("inputmask({ mask: [\"99-99\", \"999-99\"]}) - input 12345", function(assert) {
  15. var done = assert.async(),
  16. $fixture = $("#qunit-fixture");
  17. $fixture.append('<input type="text" id="testmask" />');
  18. var testmask = document.getElementById("testmask");
  19. Inputmask({
  20. mask: ["99-99", "999-99"]
  21. }).mask(testmask);
  22. testmask.focus();
  23. $("#testmask").Type("12345");
  24. setTimeout(function() {
  25. assert.equal(testmask.value, "123-45", "Result " + testmask.value);
  26. done();
  27. }, 0);
  28. });
  29. qunit.test("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12312312312", function(assert) {
  30. var done = assert.async(),
  31. $fixture = $("#qunit-fixture");
  32. $fixture.append('<input type="text" id="testmask" />');
  33. var testmask = document.getElementById("testmask");
  34. Inputmask({
  35. mask: ["999.999.999-99", "99.999.999/9999-99"]
  36. }).mask(testmask);
  37. testmask.focus();
  38. $("#testmask").Type("12312312312");
  39. setTimeout(function() {
  40. assert.equal(testmask.value, "123.123.123-12", "Result " + testmask.value);
  41. done();
  42. }, 0);
  43. });
  44. qunit.test("inputmask({ mask: [\"999.999.999-99\", \"99.999.999/9999-99\"]}) - input 12.123123123412", function(assert) {
  45. var done = assert.async(),
  46. $fixture = $("#qunit-fixture");
  47. $fixture.append('<input type="text" id="testmask" />');
  48. var testmask = document.getElementById("testmask");
  49. Inputmask({
  50. mask: ["999.999.999-99", "99.999.999/9999-99"]
  51. }).mask(testmask);
  52. testmask.focus();
  53. $("#testmask").Type("12.123123123412");
  54. setTimeout(function() {
  55. assert.equal(testmask.value, "12.123.123/1234-12", "Result " + testmask.value);
  56. done();
  57. }, 0);
  58. });
  59. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 greedy + blur", function(assert) {
  60. var done = assert.async(),
  61. $fixture = $("#qunit-fixture");
  62. $fixture.append('<input type="text" id="testmask" />');
  63. var testmask = document.getElementById("testmask");
  64. Inputmask({
  65. mask: ["99999", "99999-9999"]
  66. }).mask(testmask);
  67. testmask.focus();
  68. $("#testmask").Type("12345");
  69. testmask.blur();
  70. setTimeout(function() {
  71. assert.equal(testmask.inputmask._valueGet(), "12345", "Result " + testmask.inputmask._valueGet());
  72. done();
  73. }, 0);
  74. });
  75. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345 not greedy", function(assert) {
  76. var done = assert.async(),
  77. $fixture = $("#qunit-fixture");
  78. $fixture.append('<input type="text" id="testmask" />');
  79. var testmask = document.getElementById("testmask");
  80. Inputmask({
  81. mask: ["99999", "99999-9999"],
  82. greedy: false,
  83. keepStatic: true
  84. }).mask(testmask);
  85. testmask.focus();
  86. $("#testmask").Type("12345");
  87. setTimeout(function() {
  88. assert.equal(testmask.value, "12345", "Result " + testmask.value);
  89. done();
  90. }, 0);
  91. });
  92. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 12345-1234", function(assert) {
  93. var done = assert.async(),
  94. $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. var testmask = document.getElementById("testmask");
  97. Inputmask({
  98. mask: ["99999", "99999-9999"]
  99. }).mask(testmask);
  100. testmask.focus();
  101. $("#testmask").Type("12345-1234");
  102. setTimeout(function() {
  103. assert.equal(testmask.value, "12345-1234", "Result " + testmask.value);
  104. done();
  105. }, 0);
  106. });
  107. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 123451234", function(assert) {
  108. var done = assert.async(),
  109. $fixture = $("#qunit-fixture");
  110. $fixture.append('<input type="text" id="testmask" />');
  111. var testmask = document.getElementById("testmask");
  112. Inputmask({
  113. mask: ["99999", "99999-9999"]
  114. }).mask(testmask);
  115. testmask.focus();
  116. $("#testmask").Type("123451234");
  117. setTimeout(function() {
  118. assert.equal(testmask.value, "12345-1234", "Result " + testmask.value);
  119. done();
  120. }, 0);
  121. });
  122. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\"]]}) - input 1234512", function(assert) {
  123. var done = assert.async(),
  124. $fixture = $("#qunit-fixture");
  125. $fixture.append('<input type="text" id="testmask" />');
  126. var testmask = document.getElementById("testmask");
  127. Inputmask({
  128. mask: ["99999", "99999-9999"]
  129. }).mask(testmask);
  130. testmask.focus();
  131. $("#testmask").Type("1234512");
  132. setTimeout(function() {
  133. assert.equal(testmask.value, "12345-12__", "Result " + testmask.value);
  134. done();
  135. }, 0);
  136. });
  137. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 1234561234", function(assert) {
  138. var done = assert.async(),
  139. $fixture = $("#qunit-fixture");
  140. $fixture.append('<input type="text" id="testmask" />');
  141. var testmask = document.getElementById("testmask");
  142. Inputmask({
  143. mask: ["99999", "99999-9999", "999999-9999"]
  144. }).mask(testmask);
  145. testmask.focus();
  146. $("#testmask").Type("1234561234");
  147. setTimeout(function() {
  148. assert.equal(testmask.value, "123456-1234", "Result " + testmask.value);
  149. done();
  150. }, 0);
  151. });
  152. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 12345-6", function(assert) {
  153. var done = assert.async(),
  154. $fixture = $("#qunit-fixture");
  155. $fixture.append('<input type="text" id="testmask" />');
  156. var testmask = document.getElementById("testmask");
  157. Inputmask({
  158. mask: ["99999", "99999-9999", "999999-9999"]
  159. }).mask(testmask);
  160. testmask.focus();
  161. $("#testmask").Type("12345-6");
  162. setTimeout(function() {
  163. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  164. done();
  165. }, 0);
  166. });
  167. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"], keepStatic: false}) - input 123456", function(assert) {
  168. var done = assert.async(),
  169. $fixture = $("#qunit-fixture");
  170. $fixture.append('<input type="text" id="testmask" />');
  171. var testmask = document.getElementById("testmask");
  172. Inputmask({
  173. mask: ["99999", "99999-9999", "999999-9999"],
  174. keepStatic: false
  175. }).mask(testmask);
  176. testmask.focus();
  177. $("#testmask").Type("123456");
  178. setTimeout(function() {
  179. assert.equal(testmask.value, "123456-____", "Result " + testmask.value);
  180. done();
  181. }, 0);
  182. });
  183. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"] , keepStatic: true}) - input 123456", function(assert) {
  184. var done = assert.async(),
  185. $fixture = $("#qunit-fixture");
  186. $fixture.append('<input type="text" id="testmask" />');
  187. var testmask = document.getElementById("testmask");
  188. Inputmask({
  189. mask: ["99999", "99999-9999", "999999-9999"],
  190. keepStatic: true
  191. }).mask(testmask);
  192. testmask.focus();
  193. $("#testmask").Type("123456");
  194. setTimeout(function() {
  195. assert.equal(testmask.value, "12345-6___", "Result " + testmask.value);
  196. done();
  197. }, 0);
  198. });
  199. qunit.test("inputmask({ mask: [\"99999\", \"99999-9999\", \"999999-9999\"]]}) - input 123456 (rtl)", function(assert) {
  200. var done = assert.async(),
  201. $fixture = $("#qunit-fixture");
  202. $fixture.append('<input type="text" id="testmask" dir="rtl" />');
  203. var testmask = document.getElementById("testmask");
  204. Inputmask({
  205. mask: ["99999", "99999-9999", "999999-9999"]
  206. }).mask(testmask);
  207. testmask.focus();
  208. setTimeout(function() { //needed to pass on ie
  209. $("#testmask").Type("123456");
  210. setTimeout(function() {
  211. assert.equal(testmask.value, "___6-54321", "Result " + testmask.value);
  212. done();
  213. }, 0);
  214. }, 0);
  215. });
  216. qunit.test("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function(assert) {
  217. var done = assert.async(),
  218. $fixture = $("#qunit-fixture");
  219. $fixture.append('<input type="text" id="testmask" />');
  220. var testmask = document.getElementById("testmask");
  221. Inputmask({
  222. mask: ['9 AAA-AAA', 'A 999-999']
  223. }).mask(testmask);
  224. $("#testmask").Type("1abc");
  225. setTimeout(function() {
  226. assert.equal(testmask.value, "1 ABC-___", "Result " + testmask.value);
  227. done();
  228. }, 0);
  229. });
  230. qunit.test("inputmask({ mask: ['9 AAA-AAA', 'A 999-999'] }) ", function(assert) {
  231. var done = assert.async(),
  232. $fixture = $("#qunit-fixture");
  233. $fixture.append('<input type="text" id="testmask" />');
  234. var testmask = document.getElementById("testmask");
  235. Inputmask({
  236. mask: ['9 AAA-AAA', 'A 999-999']
  237. }).mask(testmask);
  238. $("#testmask").Type("a123");
  239. setTimeout(function() {
  240. assert.equal(testmask.value, "A 123-___", "Result " + testmask.value);
  241. done();
  242. }, 0);
  243. });
  244. qunit.test("inputmask({ mask: ['99.9', 'X'}) - annames", function(assert) {
  245. var $fixture = $("#qunit-fixture");
  246. $fixture.append('<input type="text" id="testmask" />');
  247. var testmask = document.getElementById("testmask");
  248. Inputmask({
  249. mask: ["99.9", "X", "abc"],
  250. definitions: {
  251. "X": {
  252. validator: "[xX]",
  253. cardinality: 1,
  254. casing: "upper"
  255. }
  256. }
  257. }).mask(testmask);
  258. $("#testmask").Type("x");
  259. assert.equal(testmask.value, "X", "Result " + testmask.value);
  260. });
  261. qunit.test("inputmask({ mask: [{ \"mask\": \"###-##-####\" }]) - lynxlive", function(assert) {
  262. var $fixture = $("#qunit-fixture");
  263. $fixture.append('<input type="text" id="testmask" />');
  264. var testmask = document.getElementById("testmask");
  265. var ssns = [{
  266. "mask": "###-##-####"
  267. }];
  268. Inputmask({
  269. mask: ssns,
  270. greedy: false,
  271. definitions: {
  272. '#': {
  273. validator: "[0-9]",
  274. cardinality: 1
  275. }
  276. }
  277. }).mask(testmask);
  278. $("#testmask").Type("123121234");
  279. assert.equal(testmask.value, "123-12-1234", "Result " + testmask.value);
  280. });
  281. });