tests_alternations.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. export default function (qunit, $, Inputmask) {
  2. qunit.module("Alternations");
  3. qunit.test("\"9{1,2}C|S A{1,3} 9{4}\" - ankitajain32", function (assert) {
  4. var $fixture = $("#qunit-fixture");
  5. $fixture.append('<input type="text" id="testmask" />');
  6. var testmask = document.getElementById("testmask");
  7. Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
  8. $("#testmask").Type("12Cabc1234");
  9. assert.equal(testmask.inputmask._valueGet(), "12C ABC 1234", "Result " + testmask.inputmask._valueGet());
  10. });
  11. qunit.test("\"9{1,2}C|S A{1,3} 9{4}\" replace C with S - ankitajain32", function (assert) {
  12. var $fixture = $("#qunit-fixture");
  13. $fixture.append('<input type="text" id="testmask" />');
  14. var testmask = document.getElementById("testmask");
  15. Inputmask("9{1,2}C|S A{1,3} 9{4}").mask(testmask);
  16. $("#testmask").Type("12Cabc1234");
  17. $.caret(testmask, 2, 3);
  18. $("#testmask").Type("S");
  19. assert.equal(testmask.inputmask._valueGet(), "12S ABC 1234", "Result " + testmask.inputmask._valueGet());
  20. });
  21. qunit.test("nested alternations 1", function (assert) {
  22. var $fixture = $("#qunit-fixture");
  23. $fixture.append('<input type="text" id="testmask" />');
  24. var testmask = document.getElementById("testmask");
  25. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  26. groupmarker: ["<", ">"]
  27. }).mask(testmask);
  28. $("#testmask").Type("02121212");
  29. assert.equal(testmask.inputmask._valueGet(), "02)12-12-12", "Result " + testmask.inputmask._valueGet());
  30. });
  31. qunit.test("nested alternations 2", function (assert) {
  32. var $fixture = $("#qunit-fixture");
  33. $fixture.append('<input type="text" id="testmask" />');
  34. var testmask = document.getElementById("testmask");
  35. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  36. groupmarker: ["<", ">"]
  37. }).mask(testmask);
  38. $("#testmask").Type("03411212");
  39. assert.equal(testmask.inputmask._valueGet(), "034)1-12-12", "Result " + testmask.inputmask._valueGet());
  40. });
  41. qunit.test("nested alternations 3", function (assert) {
  42. var $fixture = $("#qunit-fixture");
  43. $fixture.append('<input type="text" id="testmask" />');
  44. var testmask = document.getElementById("testmask");
  45. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  46. groupmarker: ["<", ">"]
  47. }).mask(testmask);
  48. $("#testmask").Type("03511212");
  49. assert.equal(testmask.inputmask._valueGet(), "035)1-12-12", "Result " + testmask.inputmask._valueGet());
  50. });
  51. qunit.test("nested alternations 4", function (assert) {
  52. var $fixture = $("#qunit-fixture");
  53. $fixture.append('<input type="text" id="testmask" />');
  54. var testmask = document.getElementById("testmask");
  55. Inputmask("0<2)##-##-##>|<3<4)#-##-##>|<5)#-##-##>|<6)#-##-##>>", {
  56. groupmarker: ["<", ">"]
  57. }).mask(testmask);
  58. $("#testmask").Type("03611212");
  59. assert.equal(testmask.inputmask._valueGet(), "036)1-12-12", "Result " + testmask.inputmask._valueGet());
  60. });
  61. qunit.test("alternations W|XY|Z", function (assert) {
  62. var $fixture = $("#qunit-fixture");
  63. $fixture.append('<input type="text" id="testmask" />');
  64. var testmask = document.getElementById("testmask");
  65. Inputmask("W|XY|Z").mask(testmask);
  66. $("#testmask").Type("WZ");
  67. assert.equal(testmask.inputmask._valueGet(), "WZ", "Result " + testmask.inputmask._valueGet());
  68. });
  69. qunit.test("alternations (W)|(X)(Y)|(Z)", function (assert) {
  70. var $fixture = $("#qunit-fixture");
  71. $fixture.append('<input type="text" id="testmask" />');
  72. var testmask = document.getElementById("testmask");
  73. Inputmask("(W)|(X)(Y)|(Z)").mask(testmask);
  74. $("#testmask").Type("WZ");
  75. assert.equal(testmask.inputmask._valueGet(), "WZ", "Result " + testmask.inputmask._valueGet());
  76. });
  77. qunit.test("alternations (9{1,3}|SE|NE|SW|NW)-9{1,3} - yesman85", function (assert) {
  78. var $fixture = $("#qunit-fixture");
  79. $fixture.append('<input type="text" id="testmask" />');
  80. var testmask = document.getElementById("testmask");
  81. Inputmask("(9{1,3}|SE|NE|SW|NW)-9{1,3}").mask(testmask);
  82. $("#testmask").Type("(NE123");
  83. assert.equal(testmask.inputmask._valueGet(), "NE-123", "Result " + testmask.inputmask._valueGet());
  84. });
  85. qunit.test("((S))", function (assert) {
  86. var $fixture = $("#qunit-fixture");
  87. $fixture.append('<input type="text" id="testmask" />');
  88. var testmask = document.getElementById("testmask");
  89. Inputmask("((S))").mask(testmask);
  90. testmask.focus();
  91. assert.equal(testmask.inputmask._valueGet(), "((S))", "Result " + testmask.inputmask._valueGet());
  92. });
  93. qunit.test("((S)", function (assert) {
  94. var $fixture = $("#qunit-fixture");
  95. $fixture.append('<input type="text" id="testmask" />');
  96. var testmask = document.getElementById("testmask");
  97. Inputmask("((S)").mask(testmask);
  98. testmask.focus();
  99. assert.equal(testmask.inputmask._valueGet(), "((S)", "Result " + testmask.inputmask._valueGet());
  100. });
  101. qunit.test("+371-99-999-999 - artemkaint", function (assert) {
  102. var $fixture = $("#qunit-fixture");
  103. $fixture.append('<input type="text" id="testmask" />');
  104. var testmask = document.getElementById("testmask");
  105. Inputmask([
  106. "+371-99-999-999",
  107. "+370(999)99-999",
  108. "+375(99)999-99-99",
  109. "+374-99-999-999",
  110. "+380(99)999-99-99",
  111. "+358(999)999-99-99",
  112. "+373-9999-9999",
  113. "+381-99-999-9999"
  114. ]).mask(testmask);
  115. testmask.focus();
  116. $("#testmask").Type("112123123");
  117. assert.equal(testmask.inputmask._valueGet(), "+371-12-123-123", "Result " + testmask.inputmask._valueGet());
  118. });
  119. qunit.test("+371-99-999-999 - artemkaint", function (assert) {
  120. var $fixture = $("#qunit-fixture");
  121. $fixture.append('<input type="text" id="testmask" />');
  122. var testmask = document.getElementById("testmask");
  123. Inputmask([
  124. "+371-99-999-999",
  125. "+370(999)99-999",
  126. "+375(99)999-99-99",
  127. "+374-99-999-999",
  128. "+380(99)999-99-99",
  129. "+358(999)999-99-99",
  130. "+373-9999-9999",
  131. "+381-99-999-9999"
  132. ]).mask(testmask);
  133. testmask.focus();
  134. $("#testmask").Type("412123123");
  135. assert.equal(testmask.inputmask._valueGet(), "+374-12-123-123", "Result " + testmask.inputmask._valueGet());
  136. });
  137. qunit.test("(9)|(a9) - type 1 - ivaninDarpatov", function (assert) {
  138. var $fixture = $("#qunit-fixture");
  139. $fixture.append('<input type="text" id="testmask" />');
  140. var testmask = document.getElementById("testmask");
  141. Inputmask("(9)|(a9)").mask(testmask);
  142. testmask.focus();
  143. $("#testmask").Type("12");
  144. assert.equal(testmask.inputmask._valueGet(), "1", "Result " + testmask.inputmask._valueGet());
  145. });
  146. qunit.test("(9)|(a9) - type a1 - ivaninDarpatov", function (assert) {
  147. var $fixture = $("#qunit-fixture");
  148. $fixture.append('<input type="text" id="testmask" />');
  149. var testmask = document.getElementById("testmask");
  150. Inputmask("(9)|(a9)").mask(testmask);
  151. testmask.focus();
  152. $("#testmask").Type("a1");
  153. assert.equal(testmask.inputmask._valueGet(), "a1", "Result " + testmask.inputmask._valueGet());
  154. });
  155. qunit.test("(999)|(0aa) - type 0ab - ivaninDarpatov", function (assert) {
  156. var $fixture = $("#qunit-fixture");
  157. $fixture.append('<input type="text" id="testmask" />');
  158. var testmask = document.getElementById("testmask");
  159. Inputmask("(999)|(0aa)").mask(testmask);
  160. testmask.focus();
  161. $("#testmask").Type("0ab");
  162. assert.equal(testmask.inputmask._valueGet(), "0ab", "Result " + testmask.inputmask._valueGet());
  163. });
  164. qunit.test("(999)|(0aa) - type 1ab - ivaninDarpatov", function (assert) {
  165. var $fixture = $("#qunit-fixture");
  166. $fixture.append('<input type="text" id="testmask" />');
  167. var testmask = document.getElementById("testmask");
  168. Inputmask("(999)|(0aa)").mask(testmask);
  169. testmask.focus();
  170. $("#testmask").Type("1ab");
  171. assert.equal(testmask.inputmask._valueGet(), "1__", "Result " + testmask.inputmask._valueGet());
  172. });
  173. qunit.test("(9)|(09)|(19)|(2f) - type 41 - ivaninDarpatov", function (assert) {
  174. var $fixture = $("#qunit-fixture");
  175. $fixture.append('<input type="text" id="testmask" />');
  176. var testmask = document.getElementById("testmask");
  177. Inputmask("(9)|(09)|(19)|(2f)", {
  178. definitions: {
  179. "f": {validator: "[0-3]"}
  180. }
  181. }).mask(testmask);
  182. testmask.focus();
  183. $("#testmask").Type("41");
  184. assert.equal(testmask.inputmask._valueGet(), "4", "Result " + testmask.inputmask._valueGet());
  185. });
  186. qunit.test("(9)|(09)|(19)|(2f) - type 01 - ivaninDarpatov", function (assert) {
  187. var $fixture = $("#qunit-fixture");
  188. $fixture.append('<input type="text" id="testmask" />');
  189. var testmask = document.getElementById("testmask");
  190. Inputmask("(9)|(09)|(19)|(2f)", {
  191. definitions: {
  192. "f": {validator: "[0-3]"}
  193. }
  194. }).mask(testmask);
  195. testmask.focus();
  196. $("#testmask").Type("01");
  197. assert.equal(testmask.inputmask._valueGet(), "01", "Result " + testmask.inputmask._valueGet());
  198. });
  199. qunit.test("(9)|(09)|(19)|(2f) - type 11 - ivaninDarpatov", function (assert) {
  200. var $fixture = $("#qunit-fixture");
  201. $fixture.append('<input type="text" id="testmask" />');
  202. var testmask = document.getElementById("testmask");
  203. Inputmask("(9)|(09)|(19)|(2f)", {
  204. definitions: {
  205. "f": {validator: "[0-3]"}
  206. }
  207. }).mask(testmask);
  208. testmask.focus();
  209. $("#testmask").Type("11");
  210. assert.equal(testmask.inputmask._valueGet(), "11", "Result " + testmask.inputmask._valueGet());
  211. });
  212. qunit.test("(9)|(09)|(19)|(2f) - type 23 - ivaninDarpatov", function (assert) {
  213. var $fixture = $("#qunit-fixture");
  214. $fixture.append('<input type="text" id="testmask" />');
  215. var testmask = document.getElementById("testmask");
  216. Inputmask("(9)|(09)|(19)|(2f)", {
  217. definitions: {
  218. "f": {validator: "[0-3]"}
  219. }
  220. }).mask(testmask);
  221. testmask.focus();
  222. $("#testmask").Type("23");
  223. assert.equal(testmask.inputmask._valueGet(), "23", "Result " + testmask.inputmask._valueGet());
  224. });
  225. qunit.test("(9|09|19|2f) - type 24 - ivaninDarpatov", function (assert) {
  226. var $fixture = $("#qunit-fixture");
  227. $fixture.append('<input type="text" id="testmask" />');
  228. var testmask = document.getElementById("testmask");
  229. Inputmask("(9|09|19|2f)", {
  230. definitions: {
  231. "f": {validator: "[0-3]"}
  232. }
  233. }).mask(testmask);
  234. testmask.focus();
  235. $("#testmask").Type("24");
  236. assert.equal(testmask.inputmask._valueGet(), "2", "Result " + testmask.inputmask._valueGet());
  237. });
  238. qunit.test("(1|2|3)/(4|5)", function (assert) {
  239. var $fixture = $("#qunit-fixture");
  240. $fixture.append('<input type="text" id="testmask" />');
  241. var testmask = document.getElementById("testmask");
  242. Inputmask("(1|2|3)/(4|5)").mask(testmask);
  243. testmask.focus();
  244. $("#testmask").Type("34");
  245. assert.equal(testmask.inputmask._valueGet(), "3/4", "Result " + testmask.inputmask._valueGet());
  246. });
  247. qunit.test("(99)|(*a)", function (assert) {
  248. var $fixture = $("#qunit-fixture");
  249. $fixture.append('<input type="text" id="testmask" />');
  250. var testmask = document.getElementById("testmask");
  251. Inputmask("(99)|(*a)").mask(testmask);
  252. testmask.focus();
  253. $("#testmask").Type("12");
  254. assert.equal(testmask.inputmask._valueGet(), "12", "Result " + testmask.inputmask._valueGet());
  255. });
  256. qunit.test("(99)|(*a)", function (assert) {
  257. var $fixture = $("#qunit-fixture");
  258. $fixture.append('<input type="text" id="testmask" />');
  259. var testmask = document.getElementById("testmask");
  260. Inputmask("(99)|(*a)").mask(testmask);
  261. testmask.focus();
  262. $("#testmask").Type("1a");
  263. assert.equal(testmask.inputmask._valueGet(), "1a", "Result " + testmask.inputmask._valueGet());
  264. });
  265. qunit.test("(99)|(*a)", function (assert) {
  266. var $fixture = $("#qunit-fixture");
  267. $fixture.append('<input type="text" id="testmask" />');
  268. var testmask = document.getElementById("testmask");
  269. Inputmask("(99)|(*a)").mask(testmask);
  270. testmask.focus();
  271. $("#testmask").Type("ab");
  272. assert.equal(testmask.inputmask._valueGet(), "ab", "Result " + testmask.inputmask._valueGet());
  273. });
  274. qunit.test("(99)|(*a)", function (assert) {
  275. var $fixture = $("#qunit-fixture");
  276. $fixture.append('<input type="text" id="testmask" />');
  277. var testmask = document.getElementById("testmask");
  278. Inputmask("(99)|(*a)").mask(testmask);
  279. testmask.focus();
  280. $("#testmask").Type("a2");
  281. assert.equal(testmask.inputmask._valueGet(), "a_", "Result " + testmask.inputmask._valueGet());
  282. });
  283. qunit.test("regex: \"([0-9]{2})|([a-z0-9][a-z])\"", function (assert) {
  284. var $fixture = $("#qunit-fixture");
  285. $fixture.append('<input type="text" id="testmask" />');
  286. var testmask = document.getElementById("testmask");
  287. Inputmask({ regex: "([0-9]{2})|([a-z0-9][a-z])"}).mask(testmask);
  288. testmask.focus();
  289. $("#testmask").Type("a2");
  290. assert.equal(testmask.inputmask._valueGet(), "a_", "Result " + testmask.inputmask._valueGet());
  291. });
  292. qunit.test("9|(9a)", function (assert) {
  293. var $fixture = $("#qunit-fixture");
  294. $fixture.append('<input type="text" id="testmask" />');
  295. var testmask = document.getElementById("testmask");
  296. Inputmask("9|(9a)").mask(testmask);
  297. testmask.focus();
  298. $("#testmask").Type("1");
  299. assert.equal(testmask.inputmask._valueGet(), "1", "Result " + testmask.inputmask._valueGet());
  300. });
  301. };