tests_alternations.js 16 KB

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