Best Python code snippet using prospector_python
validation.test.js
Source:validation.test.js  
1/**2 * Copyright © Magento, Inc. All rights reserved.3 * See COPYING.txt for license details.4 */5define([6    'jquery',7    'mage/validation'8], function ($) {9    'use strict';10    describe('Testing credit card validation', function () {11        it('Card type matches credit card number', function () {12            expect($.validator.methods['validate-cc-type-select'].call(13                this, 'VI', null, $('<input id="visa-valid" type="text" value="4916808263499650"/>'))14            ).toEqual(true);15            expect($.validator.methods['validate-cc-type-select'].call(16                this, 'VI', null, $('<input id="visa-invalid" type="text" value="1234567890123456"/>'))17            ).toEqual(false);18            expect($.validator.methods['validate-cc-type-select'].call(19                this, 'MC', null, $('<input id="mc-valid" type="text" value="5203731841177490"/>'))20            ).toEqual(true);21            expect($.validator.methods['validate-cc-type-select'].call(22                this, 'MC', null, $('<input id="mc-invalid" type="text" value="1111222233334444"/>'))23            ).toEqual(false);24            expect($.validator.methods['validate-cc-type-select'].call(25                this, 'MC', null, $('<input id="mc-valid" type="text" value="2221220000000003"/>'))26            ).toEqual(true);27            expect($.validator.methods['validate-cc-type-select'].call(28                this, 'MC', null, $('<input id="mc-invalid" type="text" value="2721220000000008"/>'))29            ).toEqual(false);30            expect($.validator.methods['validate-cc-type-select'].call(31                this, 'AE', null, $('<input id="ae-valid" type="text" value="376244899619217"/>'))32            ).toEqual(true);33            expect($.validator.methods['validate-cc-type-select'].call(34                this, 'AE', null, $('<input id="ae-invalid" type="text" value="123451234512345"/>'))35            ).toEqual(false);36            expect($.validator.methods['validate-cc-type-select'].call(37                this, 'DI', null, $('<input id="di-valid" type="text" value="601109020000000003"/>'))38            ).toEqual(true);39            expect($.validator.methods['validate-cc-type-select'].call(40                this, 'DI', null, $('<input id="di-invalid" type="text" value="6011111144444444"/>'))41            ).toEqual(false);42            expect($.validator.methods['validate-cc-type-select'].call(43                this, 'DI', null, $('<input id="di-valid" type="text" value="6011222233334444"/>'))44            ).toEqual(true);45            expect($.validator.methods['validate-cc-type-select'].call(46                this, 'DI', null, $('<input id="di-invalid" type="text" value="6011522233334447"/>'))47            ).toEqual(false);48            expect($.validator.methods['validate-cc-type-select'].call(49                this, 'DI', null, $('<input id="di-valid" type="text" value="601174455555553"/>'))50            ).toEqual(true);51            expect($.validator.methods['validate-cc-type-select'].call(52                this, 'DI', null, $('<input id="di-invalid" type="text" value="6011755555555550"/>'))53            ).toEqual(false);54            expect($.validator.methods['validate-cc-type-select'].call(55                this, 'DI', null, $('<input id="di-valid" type="text" value="601177455555556"/>'))56            ).toEqual(true);57            expect($.validator.methods['validate-cc-type-select'].call(58                this, 'DI', null, $('<input id="di-invalid" type="text" value="601182455555556"/>'))59            ).toEqual(false);60            expect($.validator.methods['validate-cc-type-select'].call(61                this, 'DI', null, $('<input id="di-valid" type="text" value="601187999555558"/>'))62            ).toEqual(true);63            expect($.validator.methods['validate-cc-type-select'].call(64                this, 'DI', null, $('<input id="di-invalid" type="text" value="601287999555556"/>'))65            ).toEqual(false);66            expect($.validator.methods['validate-cc-type-select'].call(67                this, 'DI', null, $('<input id="di-valid" type="text" value="6444444444444443"/>'))68            ).toEqual(true);69            expect($.validator.methods['validate-cc-type-select'].call(70                this, 'DI', null, $('<input id="di-invalid" type="text" value="6644444444444441"/>'))71            ).toEqual(false);72            expect($.validator.methods['validate-cc-type-select'].call(73                this, 'DN', null, $('<input id="dn-valid" type="text" value="3095434000000001"/>'))74            ).toEqual(true);75            expect($.validator.methods['validate-cc-type-select'].call(76                this, 'DN', null, $('<input id="dn-invalid" type="text" value="3799999900000003"/>'))77            ).toEqual(false);78            expect($.validator.methods['validate-cc-type-select'].call(79                this, 'DN', null, $('<input id="dn-valid" type="text" value="3044444444444444"/>'))80            ).toEqual(true);81            expect($.validator.methods['validate-cc-type-select'].call(82                this, 'DN', null, $('<input id="dn-invalid" type="text" value="3064444444444449"/>'))83            ).toEqual(false);84            expect($.validator.methods['validate-cc-type-select'].call(85                this, 'DN', null, $('<input id="dn-valid" type="text" value="3095444444444442"/>'))86            ).toEqual(true);87            expect($.validator.methods['validate-cc-type-select'].call(88                this, 'DN', null, $('<input id="dn-invalid" type="text" value="3096444444444441"/>'))89            ).toEqual(false);90            expect($.validator.methods['validate-cc-type-select'].call(91                this, 'DN', null, $('<input id="dn-valid" type="text" value="3696444444444445"/>'))92            ).toEqual(true);93            expect($.validator.methods['validate-cc-type-select'].call(94                this, 'DN', null, $('<input id="dn-invalid" type="text" value="3796444444444444"/>'))95            ).toEqual(false);96            expect($.validator.methods['validate-cc-type-select'].call(97                this, 'DN', null, $('<input id="dn-valid" type="text" value="3696444444444445"/>'))98            ).toEqual(true);99            expect($.validator.methods['validate-cc-type-select'].call(100                this, 'DN', null, $('<input id="dn-valid" type="text" value="3896444444444443"/>'))101            ).toEqual(true);102            expect($.validator.methods['validate-cc-type-select'].call(103                this, 'DN', null, $('<input id="dn-invalid" type="text" value="3796444444444444"/>'))104            ).toEqual(false);105            expect($.validator.methods['validate-cc-type-select'].call(106                this, 'JCB', null, $('<input id="jcb-valid" type="text" value="3528444444444449"/>'))107            ).toEqual(true);108            expect($.validator.methods['validate-cc-type-select'].call(109                this, 'JCB', null, $('<input id="jcb-invalid" type="text" value="3527444444444448"/>'))110            ).toEqual(false);111            expect($.validator.methods['validate-cc-type-select'].call(112                this, 'JCB', null, $('<input id="jcb-invalid" type="text" value="3590444444444448"/>'))113            ).toEqual(false);114            expect($.validator.methods['validate-cc-type-select'].call(115                this, 'UN', null, $('<input id="un-valid" type="text" value="6221262244444440"/>'))116            ).toEqual(true);117            expect($.validator.methods['validate-cc-type-select'].call(118                this, 'UN', null, $('<input id="un-invalid" type="text" value="6229981111111111"/>'))119            ).toEqual(false);120            expect($.validator.methods['validate-cc-type-select'].call(121                this, 'UN', null, $('<input id="un-valid" type="text" value="6249981111111117"/>'))122            ).toEqual(true);123            expect($.validator.methods['validate-cc-type-select'].call(124                this, 'UN', null, $('<input id="un-invalid" type="text" value="6279981111111110"/>'))125            ).toEqual(false);126            expect($.validator.methods['validate-cc-type-select'].call(127                this, 'UN', null, $('<input id="un-valid" type="text" value="6282981111111115"/>'))128            ).toEqual(true);129            expect($.validator.methods['validate-cc-type-select'].call(130                this, 'UN', null, $('<input id="un-invalid" type="text" value="6289981111111118"/>'))131            ).toEqual(false);132        });133    });134    describe('Testing UK Mobile number validation', function () {135        it('Valid UK Mobile Number', function () {136            var element = $('<input id="telephone" type="text" value="07400123456" />');137            expect($.validator.methods.mobileUK.call(138                $.validator.prototype, element.val(), element.get(0)139            )).toBeTruthy();140        });141        it('Invalid UK Mobile Number', function () {142            var element = $('<input id="telephone" type="text" value="06400123456" />');143            expect($.validator.methods.mobileUK.call(144                $.validator.prototype, element.val(), element.get(0)145            )).toBeFalsy();146        });147        it('Valid UK Mobile Number (International)', function () {148            var element = $('<input id="telephone" type="text" value="+447400123456" />');149            expect($.validator.methods.mobileUK.call(150                $.validator.prototype, element.val(), element.get(0)151            )).toBeTruthy();152        });153        it('Invalid UK Mobile Number', function () {154            var element = $('<input id="telephone" type="text" value="+446400123456" />');155            expect($.validator.methods.mobileUK.call(156                $.validator.prototype, element.val(), element.get(0)157            )).toBeFalsy();158        });159    });160    describe('Validation of the password against the user name', function () {161        it('rejects data, if password is the same as user name', function () {162            var password = $('<input id="password" type="password" value="EmailPasswordTheSame" />'),163                email = $('<input id="email" type="email" value="EmailPasswordTheSame" />');164            expect($.validator.methods['password-not-equal-to-user-name'].call(165                $.validator.prototype, password.val(), null, email.val()166            )).toEqual(false);167        });168        it('approves data, if password is different from user name', function () {169            var password = $('<input id="password" type="password" value="SomePassword" />'),170                email = $('<input id="email" type="email" value="SomeEmail" />');171            expect($.validator.methods['password-not-equal-to-user-name'].call(172                $.validator.prototype, password.val(), null, email.val()173            )).toEqual(true);174        });175    });176    describe('Testing validate-no-html-tags', function () {177        it('validate-no-html-tags', function () {178            expect($.validator.methods['validate-no-html-tags']179                .call($.validator.prototype, '')).toEqual(true);180            expect($.validator.methods['validate-no-html-tags']181                .call($.validator.prototype, null)).toEqual(true);182            expect($.validator.methods['validate-no-html-tags']183                .call($.validator.prototype, 'abc')).toEqual(true);184            expect($.validator.methods['validate-no-html-tags']185                .call($.validator.prototype, '<div>abc</div>')).toEqual(false);186        });187    });188    describe('Testing allow-container-className', function () {189        it('allow-container-className', function () {190            var radio = $('<input type="radio" class="change-container-classname"/>'),191                checkbox = $('<input type="checkbox" class="change-container-classname"/>'),192                radio2 = $('<input type="radio"/>'),193                checkbox2 = $('<input type="checkbox"/>');194            expect($.validator.methods['allow-container-className']195                .call($.validator.prototype, radio[0])).toEqual(true);196            expect($.validator.methods['allow-container-className']197                .call($.validator.prototype, checkbox[0])).toEqual(true);198            expect($.validator.methods['allow-container-className']199                .call($.validator.prototype, radio2[0])).toEqual(false);200            expect($.validator.methods['allow-container-className']201                .call($.validator.prototype, checkbox2[0])).toEqual(false);202        });203    });204    describe('Testing validate-select', function () {205        it('validate-select', function () {206            expect($.validator.methods['validate-select']207                .call($.validator.prototype, '')).toEqual(false);208            expect($.validator.methods['validate-select']209                .call($.validator.prototype, 'none')).toEqual(false);210            expect($.validator.methods['validate-select']211                .call($.validator.prototype, null)).toEqual(false);212            expect($.validator.methods['validate-select']213                .call($.validator.prototype, undefined)).toEqual(false);214            expect($.validator.methods['validate-select']215                .call($.validator.prototype, 'abc')).toEqual(true);216        });217    });218    describe('Testing validate-no-empty', function () {219        it('validate-no-empty', function () {220            expect($.validator.methods['validate-no-empty']221                .call($.validator.prototype, '')).toEqual(false);222            expect($.validator.methods['validate-no-empty']223                .call($.validator.prototype, null)).toEqual(false);224            expect($.validator.methods['validate-no-empty']225                .call($.validator.prototype, undefined)).toEqual(false);226            expect($.validator.methods['validate-no-empty']227                .call($.validator.prototype, '   ')).toEqual(false);228            expect($.validator.methods['validate-no-empty']229                .call($.validator.prototype, 'test')).toEqual(true);230        });231    });232    describe('Testing validate-alphanum-with-spaces', function () {233        it('validate-alphanum-with-spaces', function () {234            expect($.validator.methods['validate-alphanum-with-spaces']235                .call($.validator.prototype, '')).toEqual(true);236            expect($.validator.methods['validate-alphanum-with-spaces']237                .call($.validator.prototype, null)).toEqual(true);238            expect($.validator.methods['validate-alphanum-with-spaces']239                .call($.validator.prototype, undefined)).toEqual(true);240            expect($.validator.methods['validate-alphanum-with-spaces']241                .call($.validator.prototype, '   ')).toEqual(true);242            expect($.validator.methods['validate-alphanum-with-spaces']243                .call($.validator.prototype, 'abc   ')).toEqual(true);244            expect($.validator.methods['validate-alphanum-with-spaces']245                .call($.validator.prototype, ' 123  ')).toEqual(true);246            expect($.validator.methods['validate-alphanum-with-spaces']247                .call($.validator.prototype, '  abc123 ')).toEqual(true);248            expect($.validator.methods['validate-alphanum-with-spaces']249                .call($.validator.prototype, '  !@# ')).toEqual(false);250            expect($.validator.methods['validate-alphanum-with-spaces']251                .call($.validator.prototype, '  abc.123 ')).toEqual(false);252        });253    });254    describe('Testing validate-phoneStrict', function () {255        it('validate-phoneStrict', function () {256            expect($.validator.methods['validate-phoneStrict']257                .call($.validator.prototype, '')).toEqual(true);258            expect($.validator.methods['validate-phoneStrict']259                .call($.validator.prototype, null)).toEqual(true);260            expect($.validator.methods['validate-phoneStrict']261                .call($.validator.prototype, undefined)).toEqual(true);262            expect($.validator.methods['validate-phoneStrict']263                .call($.validator.prototype, '   ')).toEqual(false);264            expect($.validator.methods['validate-phoneStrict']265                .call($.validator.prototype, '5121231234')).toEqual(false);266            expect($.validator.methods['validate-phoneStrict']267                .call($.validator.prototype, '512.123.1234')).toEqual(false);268            expect($.validator.methods['validate-phoneStrict']269                .call($.validator.prototype, '512-123-1234')).toEqual(true);270            expect($.validator.methods['validate-phoneStrict']271                .call($.validator.prototype, '(512)123-1234')).toEqual(true);272            expect($.validator.methods['validate-phoneStrict']273                .call($.validator.prototype, '(512) 123-1234')).toEqual(true);274        });275    });276    describe('Testing validate-phoneLax', function () {277        it('validate-phoneLax', function () {278            expect($.validator.methods['validate-phoneLax']279                .call($.validator.prototype, '')).toEqual(true);280            expect($.validator.methods['validate-phoneLax']281                .call($.validator.prototype, null)).toEqual(true);282            expect($.validator.methods['validate-phoneLax']283                .call($.validator.prototype, undefined)).toEqual(true);284            expect($.validator.methods['validate-phoneLax']285                .call($.validator.prototype, '   ')).toEqual(false);286            expect($.validator.methods['validate-phoneLax']287                .call($.validator.prototype, '5121231234')).toEqual(true);288            expect($.validator.methods['validate-phoneLax']289                .call($.validator.prototype, '512.123.1234')).toEqual(true);290            expect($.validator.methods['validate-phoneLax']291                .call($.validator.prototype, '512-123-1234')).toEqual(true);292            expect($.validator.methods['validate-phoneLax']293                .call($.validator.prototype, '(512)123-1234')).toEqual(true);294            expect($.validator.methods['validate-phoneLax']295                .call($.validator.prototype, '(512) 123-1234')).toEqual(true);296            expect($.validator.methods['validate-phoneLax']297                .call($.validator.prototype, '(512)1231234')).toEqual(true);298            expect($.validator.methods['validate-phoneLax']299                .call($.validator.prototype, '(512)_123_1234')).toEqual(false);300        });301    });302    describe('Testing validate-fax', function () {303        it('validate-fax', function () {304            expect($.validator.methods['validate-fax']305                .call($.validator.prototype, '')).toEqual(true);306            expect($.validator.methods['validate-fax']307                .call($.validator.prototype, null)).toEqual(true);308            expect($.validator.methods['validate-fax']309                .call($.validator.prototype, undefined)).toEqual(true);310            expect($.validator.methods['validate-fax']311                .call($.validator.prototype, '   ')).toEqual(false);312            expect($.validator.methods['validate-fax']313                .call($.validator.prototype, '5121231234')).toEqual(false);314            expect($.validator.methods['validate-fax']315                .call($.validator.prototype, '512.123.1234')).toEqual(false);316            expect($.validator.methods['validate-fax']317                .call($.validator.prototype, '512-123-1234')).toEqual(true);318            expect($.validator.methods['validate-fax']319                .call($.validator.prototype, '(512)123-1234')).toEqual(true);320            expect($.validator.methods['validate-fax']321                .call($.validator.prototype, '(512) 123-1234')).toEqual(true);322        });323    });324    describe('Testing validate-email', function () {325        it('validate-email', function () {326            expect($.validator.methods['validate-email']327                .call($.validator.prototype, '')).toEqual(true);328            expect($.validator.methods['validate-email']329                .call($.validator.prototype, null)).toEqual(true);330            expect($.validator.methods['validate-email']331                .call($.validator.prototype, undefined)).toEqual(true);332            expect($.validator.methods['validate-email']333                .call($.validator.prototype, '   ')).toEqual(false);334            expect($.validator.methods['validate-email']335                .call($.validator.prototype, '123@123.com')).toEqual(true);336            expect($.validator.methods['validate-email']337                .call($.validator.prototype, 'abc@124.en')).toEqual(true);338            expect($.validator.methods['validate-email']339                .call($.validator.prototype, 'abc@abc.commmmm')).toEqual(true);340            expect($.validator.methods['validate-email']341                .call($.validator.prototype, 'abc.abc.abc@abc.commmmm')).toEqual(true);342            expect($.validator.methods['validate-email']343                .call($.validator.prototype, 'abc.abc-abc@abc.commmmm')).toEqual(true);344            expect($.validator.methods['validate-email']345                .call($.validator.prototype, 'abc.abc_abc@abc.commmmm')).toEqual(true);346            expect($.validator.methods['validate-email']347                .call($.validator.prototype, 'abc.abc_abc@abc')).toEqual(false);348        });349    });350    describe('Testing validate-emailSender', function () {351        it('validate-emailSender', function () {352            expect($.validator.methods['validate-emailSender']353                .call($.validator.prototype, '')).toEqual(true);354            expect($.validator.methods['validate-emailSender']355                .call($.validator.prototype, null)).toEqual(true);356            expect($.validator.methods['validate-emailSender']357                .call($.validator.prototype, undefined)).toEqual(true);358            expect($.validator.methods['validate-emailSender']359                .call($.validator.prototype, '   ')).toEqual(true);360            expect($.validator.methods['validate-emailSender']361                .call($.validator.prototype, '123@123.com')).toEqual(true);362            expect($.validator.methods['validate-emailSender']363                .call($.validator.prototype, 'abc@124.en')).toEqual(true);364            expect($.validator.methods['validate-emailSender']365                .call($.validator.prototype, 'abc@abc.commmmm')).toEqual(true);366            expect($.validator.methods['validate-emailSender']367                .call($.validator.prototype, 'abc.abc.abc@abc.commmmm')).toEqual(true);368            expect($.validator.methods['validate-emailSender']369                .call($.validator.prototype, 'abc.abc-abc@abc.commmmm')).toEqual(true);370            expect($.validator.methods['validate-emailSender']371                .call($.validator.prototype, 'abc.abc_abc@abc.commmmm')).toEqual(true);372        });373    });374    describe('Testing validate-password', function () {375        it('validate-password', function () {376            expect($.validator.methods['validate-password']377                .call($.validator.prototype, '')).toEqual(true);378            expect($.validator.methods['validate-password']379                .call($.validator.prototype, null)).toEqual(false);380            expect($.validator.methods['validate-password']381                .call($.validator.prototype, undefined)).toEqual(false);382            expect($.validator.methods['validate-password']383                .call($.validator.prototype, '   ')).toEqual(true);384            expect($.validator.methods['validate-password']385                .call($.validator.prototype, '123@123.com')).toEqual(true);386            expect($.validator.methods['validate-password']387                .call($.validator.prototype, 'abc')).toEqual(false);388            expect($.validator.methods['validate-password']389                .call($.validator.prototype, 'abc       ')).toEqual(false);390            expect($.validator.methods['validate-password']391                .call($.validator.prototype, '     abc      ')).toEqual(false);392            expect($.validator.methods['validate-password']393                .call($.validator.prototype, 'dddd')).toEqual(false);394        });395    });396    describe('Testing validate-admin-password', function () {397        it('validate-admin-password', function () {398            expect($.validator.methods['validate-admin-password']399                .call($.validator.prototype, '')).toEqual(true);400            expect($.validator.methods['validate-admin-password']401                .call($.validator.prototype, null)).toEqual(false);402            expect($.validator.methods['validate-admin-password']403                .call($.validator.prototype, undefined)).toEqual(false);404            expect($.validator.methods['validate-admin-password']405                .call($.validator.prototype, '   ')).toEqual(true);406            expect($.validator.methods['validate-admin-password']407                .call($.validator.prototype, '123@123.com')).toEqual(true);408            expect($.validator.methods['validate-admin-password']409                .call($.validator.prototype, 'abc')).toEqual(false);410            expect($.validator.methods['validate-admin-password']411                .call($.validator.prototype, 'abc       ')).toEqual(false);412            expect($.validator.methods['validate-admin-password']413                .call($.validator.prototype, '     abc      ')).toEqual(false);414            expect($.validator.methods['validate-admin-password']415                .call($.validator.prototype, 'dddd')).toEqual(false);416        });417    });418    describe('Testing validate-url', function () {419        it('validate-url', function () {420            expect($.validator.methods['validate-url']421                .call($.validator.prototype, '')).toEqual(true);422            expect($.validator.methods['validate-url']423                .call($.validator.prototype, null)).toEqual(true);424            expect($.validator.methods['validate-url']425                .call($.validator.prototype, undefined)).toEqual(true);426            expect($.validator.methods['validate-url']427                .call($.validator.prototype, '   ')).toEqual(false);428            expect($.validator.methods['validate-url']429                .call($.validator.prototype, 'http://www.google.com')).toEqual(true);430            expect($.validator.methods['validate-url']431                .call($.validator.prototype, 'http://127.0.0.1:8080/index.php')).toEqual(true);432            expect($.validator.methods['validate-url']433                .call($.validator.prototype, 'http://app-spot.com/index.php')).toEqual(true);434            expect($.validator.methods['validate-url']435                .call($.validator.prototype, 'http://app-spot_space.com/index.php')).toEqual(true);436        });437    });438    describe('Testing validate-clean-url', function () {439        it('validate-clean-url', function () {440            expect($.validator.methods['validate-clean-url']441                .call($.validator.prototype, '')).toEqual(true);442            expect($.validator.methods['validate-clean-url']443                .call($.validator.prototype, null)).toEqual(true);444            expect($.validator.methods['validate-clean-url']445                .call($.validator.prototype, undefined)).toEqual(true);446            expect($.validator.methods['validate-clean-url']447                .call($.validator.prototype, '   ')).toEqual(false);448            expect($.validator.methods['validate-clean-url']449                .call($.validator.prototype, 'http://www.google.com')).toEqual(true);450            expect($.validator.methods['validate-clean-url']451                .call($.validator.prototype, 'http://127.0.0.1:8080/index.php')).toEqual(false);452            expect($.validator.methods['validate-clean-url']453                .call($.validator.prototype, 'http://127.0.0.1:8080')).toEqual(false);454            expect($.validator.methods['validate-clean-url']455                .call($.validator.prototype, 'http://127.0.0.1')).toEqual(false);456        });457    });458    describe('Testing validate-xml-identifier', function () {459        it('validate-xml-identifier', function () {460            expect($.validator.methods['validate-xml-identifier']461                .call($.validator.prototype, '')).toEqual(true);462            expect($.validator.methods['validate-xml-identifier']463                .call($.validator.prototype, null)).toEqual(true);464            expect($.validator.methods['validate-xml-identifier']465                .call($.validator.prototype, undefined)).toEqual(true);466            expect($.validator.methods['validate-xml-identifier']467                .call($.validator.prototype, '   ')).toEqual(false);468            expect($.validator.methods['validate-xml-identifier']469                .call($.validator.prototype, 'abc')).toEqual(true);470            expect($.validator.methods['validate-xml-identifier']471                .call($.validator.prototype, 'abc_123')).toEqual(true);472            expect($.validator.methods['validate-xml-identifier']473                .call($.validator.prototype, 'abc-123')).toEqual(true);474            expect($.validator.methods['validate-xml-identifier']475                .call($.validator.prototype, '123-abc')).toEqual(false);476        });477    });478    describe('Testing validate-ssn', function () {479        it('validate-ssn', function () {480            expect($.validator.methods['validate-ssn']481                .call($.validator.prototype, '')).toEqual(true);482            expect($.validator.methods['validate-ssn']483                .call($.validator.prototype, null)).toEqual(true);484            expect($.validator.methods['validate-ssn']485                .call($.validator.prototype, undefined)).toEqual(true);486            expect($.validator.methods['validate-ssn']487                .call($.validator.prototype, '   ')).toEqual(false);488            expect($.validator.methods['validate-ssn']489                .call($.validator.prototype, 'abc')).toEqual(false);490            expect($.validator.methods['validate-ssn']491                .call($.validator.prototype, '123-13-1234')).toEqual(true);492            expect($.validator.methods['validate-ssn']493                .call($.validator.prototype, '012-12-1234')).toEqual(true);494            expect($.validator.methods['validate-ssn']495                .call($.validator.prototype, '23-12-1234')).toEqual(false);496        });497    });498    describe('Testing validate-zip-us', function () {499        it('validate-zip-us', function () {500            expect($.validator.methods['validate-zip-us']501                .call($.validator.prototype, '')).toEqual(true);502            expect($.validator.methods['validate-zip-us']503                .call($.validator.prototype, null)).toEqual(true);504            expect($.validator.methods['validate-zip-us']505                .call($.validator.prototype, undefined)).toEqual(true);506            expect($.validator.methods['validate-zip-us']507                .call($.validator.prototype, '   ')).toEqual(false);508            expect($.validator.methods['validate-zip-us']509                .call($.validator.prototype, '12345-1234')).toEqual(true);510            expect($.validator.methods['validate-zip-us']511                .call($.validator.prototype, '02345')).toEqual(true);512            expect($.validator.methods['validate-zip-us']513                .call($.validator.prototype, '1234')).toEqual(false);514            expect($.validator.methods['validate-zip-us']515                .call($.validator.prototype, '1234-1234')).toEqual(false);516        });517    });518    describe('Testing validate-date-au', function () {519        it('validate-date-au', function () {520            expect($.validator.methods['validate-date-au']521                .call($.validator.prototype, '')).toEqual(true);522            expect($.validator.methods['validate-date-au']523                .call($.validator.prototype, null)).toEqual(true);524            expect($.validator.methods['validate-date-au']525                .call($.validator.prototype, undefined)).toEqual(true);526            expect($.validator.methods['validate-date-au']527                .call($.validator.prototype, '   ')).toEqual(false);528            expect($.validator.methods['validate-date-au']529                .call($.validator.prototype, '01/01/2012')).toEqual(true);530            expect($.validator.methods['validate-date-au']531                .call($.validator.prototype, '30/01/2012')).toEqual(true);532            expect($.validator.methods['validate-date-au']533                .call($.validator.prototype, '01/30/2012')).toEqual(false);534            expect($.validator.methods['validate-date-au']535                .call($.validator.prototype, '1/1/2012')).toEqual(false);536        });537    });538    describe('Testing validate-currency-dollar', function () {539        it('validate-currency-dollar', function () {540            expect($.validator.methods['validate-currency-dollar']541                .call($.validator.prototype, '')).toEqual(true);542            expect($.validator.methods['validate-currency-dollar']543                .call($.validator.prototype, null)).toEqual(true);544            expect($.validator.methods['validate-currency-dollar']545                .call($.validator.prototype, undefined)).toEqual(true);546            expect($.validator.methods['validate-currency-dollar']547                .call($.validator.prototype, '   ')).toEqual(false);548            expect($.validator.methods['validate-currency-dollar']549                .call($.validator.prototype, '$123')).toEqual(true);550            expect($.validator.methods['validate-currency-dollar']551                .call($.validator.prototype, '$1,123.00')).toEqual(true);552            expect($.validator.methods['validate-currency-dollar']553                .call($.validator.prototype, '$1234')).toEqual(true);554            expect($.validator.methods['validate-currency-dollar']555                .call($.validator.prototype, '$1234.1234')).toEqual(false);556        });557    });558    describe('Testing validate-not-negative-number', function () {559        it('validate-not-negative-number', function () {560            expect($.validator.methods['validate-not-negative-number']561                .call($.validator.prototype, '')).toEqual(true);562            expect($.validator.methods['validate-not-negative-number']563                .call($.validator.prototype, null)).toEqual(true);564            expect($.validator.methods['validate-not-negative-number']565                .call($.validator.prototype, undefined)).toEqual(true);566            expect($.validator.methods['validate-not-negative-number']567                .call($.validator.prototype, '   ')).toEqual(false);568            expect($.validator.methods['validate-not-negative-number']569                .call($.validator.prototype, '0')).toEqual(true);570            expect($.validator.methods['validate-not-negative-number']571                .call($.validator.prototype, '1')).toEqual(true);572            expect($.validator.methods['validate-not-negative-number']573                .call($.validator.prototype, '1234')).toEqual(true);574            expect($.validator.methods['validate-not-negative-number']575                .call($.validator.prototype, '1,234.1234')).toEqual(true);576            expect($.validator.methods['validate-not-negative-number']577                .call($.validator.prototype, '-1')).toEqual(false);578            expect($.validator.methods['validate-not-negative-number']579                .call($.validator.prototype, '-1e')).toEqual(false);580            expect($.validator.methods['validate-not-negative-number']581                .call($.validator.prototype, '-1,234.1234')).toEqual(false);582        });583    });584    describe('Testing validate-greater-than-zero', function () {585        it('validate-greater-than-zero', function () {586            expect($.validator.methods['validate-greater-than-zero']587                .call($.validator.prototype, '')).toEqual(true);588            expect($.validator.methods['validate-greater-than-zero']589                .call($.validator.prototype, null)).toEqual(true);590            expect($.validator.methods['validate-greater-than-zero']591                .call($.validator.prototype, undefined)).toEqual(true);592            expect($.validator.methods['validate-greater-than-zero']593                .call($.validator.prototype, '   ')).toEqual(false);594            expect($.validator.methods['validate-greater-than-zero']595                .call($.validator.prototype, '0')).toEqual(false);596            expect($.validator.methods['validate-greater-than-zero']597                .call($.validator.prototype, '1')).toEqual(true);598            expect($.validator.methods['validate-greater-than-zero']599                .call($.validator.prototype, '1234')).toEqual(true);600            expect($.validator.methods['validate-greater-than-zero']601                .call($.validator.prototype, '1,234.1234')).toEqual(true);602            expect($.validator.methods['validate-greater-than-zero']603                .call($.validator.prototype, '-1')).toEqual(false);604            expect($.validator.methods['validate-greater-than-zero']605                .call($.validator.prototype, '-1e')).toEqual(false);606            expect($.validator.methods['validate-greater-than-zero']607                .call($.validator.prototype, '-1,234.1234')).toEqual(false);608        });609    });610    describe('Testing validate-css-length', function () {611        it('validate-css-length', function () {612            expect($.validator.methods['validate-css-length']613                .call($.validator.prototype, '')).toEqual(true);614            expect($.validator.methods['validate-css-length']615                .call($.validator.prototype, null)).toEqual(false);616            expect($.validator.methods['validate-css-length']617                .call($.validator.prototype, undefined)).toEqual(false);618            expect($.validator.methods['validate-css-length']619                .call($.validator.prototype, '   ')).toEqual(false);620            expect($.validator.methods['validate-css-length']621                .call($.validator.prototype, '0')).toEqual(true);622            expect($.validator.methods['validate-css-length']623                .call($.validator.prototype, '1')).toEqual(true);624            expect($.validator.methods['validate-css-length']625                .call($.validator.prototype, '1234')).toEqual(true);626            expect($.validator.methods['validate-css-length']627                .call($.validator.prototype, '1,234.1234')).toEqual(false);628            expect($.validator.methods['validate-css-length']629                .call($.validator.prototype, '-1')).toEqual(false);630            expect($.validator.methods['validate-css-length']631                .call($.validator.prototype, '-1e')).toEqual(false);632            expect($.validator.methods['validate-css-length']633                .call($.validator.prototype, '-1,234.1234')).toEqual(false);634        });635    });636    describe('Testing validate-data', function () {637        it('validate-data', function () {638            expect($.validator.methods['validate-data']639                .call($.validator.prototype, '')).toEqual(true);640            expect($.validator.methods['validate-data']641                .call($.validator.prototype, null)).toEqual(true);642            expect($.validator.methods['validate-data']643                .call($.validator.prototype, undefined)).toEqual(true);644            expect($.validator.methods['validate-data']645                .call($.validator.prototype, '   ')).toEqual(false);646            expect($.validator.methods['validate-data']647                .call($.validator.prototype, '123abc')).toEqual(false);648            expect($.validator.methods['validate-data']649                .call($.validator.prototype, 'abc')).toEqual(true);650            expect($.validator.methods['validate-data']651                .call($.validator.prototype, ' abc')).toEqual(false);652            expect($.validator.methods['validate-data']653                .call($.validator.prototype, 'abc123')).toEqual(true);654            expect($.validator.methods['validate-data']655                .call($.validator.prototype, 'abc-123')).toEqual(false);656        });657    });658    describe('Testing validate-one-required-by-name', function () {659        it('validate-one-required-by-name', function () {660            var radio = $('<input type="radio" name="radio"/>'),661                radio2 = $('<input type="radio" name="radio" checked/>'),662                checkbox = $('<input type="checkbox" name="checkbox"/>'),663                checkbox2 = $('<input type="checkbox" name="checkbox" checked/>'),664                $test = $('<div id="test-block" />'),665                prevForm = $.validator.prototype.currentForm;666            $.validator.prototype.currentForm = $test[0];667            $test.append(radio);668            expect($.validator.methods['validate-one-required-by-name']669                .call($.validator.prototype, null, radio[0], true)).toEqual(false);670            $test.append(radio2);671            expect($.validator.methods['validate-one-required-by-name']672                .call($.validator.prototype, null, radio2[0], true)).toEqual(true);673            $test.append(checkbox);674            expect($.validator.methods['validate-one-required-by-name']675                .call($.validator.prototype, null, checkbox[0], true)).toEqual(false);676            $test.append(checkbox2);677            expect($.validator.methods['validate-one-required-by-name']678                .call($.validator.prototype, null, checkbox2[0], true)).toEqual(true);679            $.validator.prototype.currentForm = prevForm;680        });681    });682    describe('Testing less-than-equals-to', function () {683        it('less-than-equals-to', function () {684            var elm1 =  $('<input type="text" value="6" id="element1" />'),685                elm2 =  $('<input type="text" value="5" id="element2" />'),686                elm3 =  $('<input type="text" id="element3" />'),687                elm4 =  $('<input type="text" value=5 id="element4" />'),688                elm5 =  $('<input type="text" id="element6" />'),689                elm6 =  $('<input type="text" value=6 id="element5" />'),690                elm7 =  $('<input type="text" value=20 id="element7" />'),691                elm8 =  $('<input type="text" value=100 id="element8" />');692            expect($.validator.methods['less-than-equals-to']693                .call($.validator.prototype, elm1[0].value, elm1, elm2)).toEqual(false);694            elm1[0].value = 4;695            expect($.validator.methods['less-than-equals-to']696                .call($.validator.prototype, elm1[0].value, elm1, elm2)).toEqual(true);697            expect($.validator.methods['less-than-equals-to']698                .call($.validator.prototype, elm3[0].value, elm3, elm4)).toEqual(true);699            expect($.validator.methods['less-than-equals-to']700                .call($.validator.prototype, elm5[0].value, elm5, elm6)).toEqual(true);701            expect($.validator.methods['less-than-equals-to']702                .call($.validator.prototype, elm7[0].value, elm7, elm8)).toEqual(true);703        });704    });705    describe('Testing greater-than-equals-to', function () {706        it('greater-than-equals-to', function () {707            var elm1 =  $('<input type="text" value=6 id="element1" />'),708                elm2 =  $('<input type="text" value=7 id="element2" />'),709                elm3 =  $('<input type="text" id="element3" />'),710                elm4 =  $('<input type="text" value=5 id="element4" />'),711                elm5 =  $('<input type="text" id="element6" />'),712                elm6 =  $('<input type="text" value=6 id="element5" />'),713                elm7 =  $('<input type="text" value=100 id="element7" />'),714                elm8 =  $('<input type="text" value=20 id="element8" />');715            expect($.validator.methods['greater-than-equals-to']716                .call($.validator.prototype, elm1[0].value, elm1, elm2)).toEqual(false);717            elm1[0].value = 9;718            expect($.validator.methods['greater-than-equals-to']719                .call($.validator.prototype, elm1[0].value, elm1, elm2)).toEqual(true);720            expect($.validator.methods['greater-than-equals-to']721                .call($.validator.prototype, elm3[0].value, elm3, elm4)).toEqual(true);722            expect($.validator.methods['greater-than-equals-to']723                .call($.validator.prototype, elm5[0].value, elm5, elm6)).toEqual(true);724            expect($.validator.methods['greater-than-equals-to']725                .call($.validator.prototype, elm7[0].value, elm7, elm8)).toEqual(true);726        });727    });728    describe('Testing validate-cc-type-select', function () {729        it('validate-cc-type-select', function () {730            var visaValid = $('<input id="visa-valid" type="text" value="4916808263499650"/>'),731                visaInvalid = $('<input id="visa-invalid" type="text" value="1234567890123456"/>'),732                mcValid = $('<input id="mc-valid" type="text" value="5203731841177490"/>'),733                mcInvalid = $('<input id="mc-invalid" type="text" value="1111222233334444"/>'),734                aeValid = $('<input id="ae-valid" type="text" value="376244899619217"/>'),735                aeInvalid = $('<input id="ae-invalid" type="text" value="123451234512345"/>'),736                diValid = $('<input id="di-valid" type="text" value="6011050000000009"/>'),737                diInvalid = $('<input id="di-invalid" type="text" value="6011199900000005"/>'),738                dnValid = $('<input id="dn-valid" type="text" value="3095434000000001"/>'),739                dnInvalid = $('<input id="dn-invalid" type="text" value="3799999900000003"/>'),740                jcbValid = $('<input id="jcb-valid" type="text" value="3528000000000007"/>'),741                jcbInvalid = $('<input id="jcb-invalid" type="text" value="359000001111118"/>');742            expect($.validator.methods['validate-cc-type-select']743                .call($.validator.prototype, 'VI', null, visaValid)).toEqual(true);744            expect($.validator.methods['validate-cc-type-select']745                .call($.validator.prototype, 'VI', null, visaInvalid)).toEqual(false);746            expect($.validator.methods['validate-cc-type-select']747                .call($.validator.prototype, 'MC', null, mcValid)).toEqual(true);748            expect($.validator.methods['validate-cc-type-select']749                .call($.validator.prototype, 'MC', null, mcInvalid)).toEqual(false);750            expect($.validator.methods['validate-cc-type-select']751                .call($.validator.prototype, 'AE', null, aeValid)).toEqual(true);752            expect($.validator.methods['validate-cc-type-select']753                .call($.validator.prototype, 'AE', null, aeInvalid)).toEqual(false);754            expect($.validator.methods['validate-cc-type-select']755                .call($.validator.prototype, 'DI', null, diValid)).toEqual(true);756            expect($.validator.methods['validate-cc-type-select']757                .call($.validator.prototype, 'DI', null, diInvalid)).toEqual(false);758            expect($.validator.methods['validate-cc-type-select']759                .call($.validator.prototype, 'DN', null, dnValid)).toEqual(true);760            expect($.validator.methods['validate-cc-type-select']761                .call($.validator.prototype, 'DN', null, dnInvalid)).toEqual(false);762            expect($.validator.methods['validate-cc-type-select']763                .call($.validator.prototype, 'JCB', null, jcbValid)).toEqual(true);764            expect($.validator.methods['validate-cc-type-select']765                .call($.validator.prototype, 'JCB', null, jcbInvalid)).toEqual(false);766        });767    });768    describe('Testing validate-cc-number', function () {769        it('validate-cc-number', function () {770            expect($.validator.methods['validate-cc-number']771                .call($.validator.prototype, '4916835098995909', null, null)).toEqual(true);772            expect($.validator.methods['validate-cc-number']773                .call($.validator.prototype, '5265071363284878', null, null)).toEqual(true);774            expect($.validator.methods['validate-cc-number']775                .call($.validator.prototype, '6011120623356953', null, null)).toEqual(true);776            expect($.validator.methods['validate-cc-number']777                .call($.validator.prototype, '371293266574617', null, null)).toEqual(true);778            expect($.validator.methods['validate-cc-number']779                .call($.validator.prototype, '4916835098995901', null, null)).toEqual(false);780            expect($.validator.methods['validate-cc-number']781                .call($.validator.prototype, '5265071363284870', null, null)).toEqual(false);782            expect($.validator.methods['validate-cc-number']783                .call($.validator.prototype, '6011120623356951', null, null)).toEqual(false);784            expect($.validator.methods['validate-cc-number']785                .call($.validator.prototype, '371293266574619', null, null)).toEqual(false);786            expect($.validator.methods['validate-cc-number']787                .call($.validator.prototype, '2221220000000003', null, null)).toEqual(true);788            expect($.validator.methods['validate-cc-number']789                .call($.validator.prototype, '2721220000000008', null, null)).toEqual(true);790            expect($.validator.methods['validate-cc-number']791                .call($.validator.prototype, '601109020000000003', null, null)).toEqual(true);792            expect($.validator.methods['validate-cc-number']793                .call($.validator.prototype, '6011111144444444', null, null)).toEqual(true);794            expect($.validator.methods['validate-cc-number']795                .call($.validator.prototype, '6011222233334444', null, null)).toEqual(true);796            expect($.validator.methods['validate-cc-number']797                .call($.validator.prototype, '6011522233334447', null, null)).toEqual(true);798            expect($.validator.methods['validate-cc-number']799                .call($.validator.prototype, '601174455555553', null, null)).toEqual(true);800            expect($.validator.methods['validate-cc-number']801                .call($.validator.prototype, '6011745555555550', null, null)).toEqual(true);802            expect($.validator.methods['validate-cc-number']803                .call($.validator.prototype, '601177455555556', null, null)).toEqual(true);804            expect($.validator.methods['validate-cc-number']805                .call($.validator.prototype, '601182455555556', null, null)).toEqual(true);806            expect($.validator.methods['validate-cc-number']807                .call($.validator.prototype, '601187999555558', null, null)).toEqual(true);808            expect($.validator.methods['validate-cc-number']809                .call($.validator.prototype, '601287999555556', null, null)).toEqual(true);810            expect($.validator.methods['validate-cc-number']811                .call($.validator.prototype, '6444444444444443', null, null)).toEqual(true);812            expect($.validator.methods['validate-cc-number']813                .call($.validator.prototype, '6644444444444441', null, null)).toEqual(true);814            expect($.validator.methods['validate-cc-number']815                .call($.validator.prototype, '3044444444444444', null, null)).toEqual(true);816            expect($.validator.methods['validate-cc-number']817                .call($.validator.prototype, '3064444444444449', null, null)).toEqual(true);818            expect($.validator.methods['validate-cc-number']819                .call($.validator.prototype, '3095444444444442', null, null)).toEqual(true);820            expect($.validator.methods['validate-cc-number']821                .call($.validator.prototype, '3096444444444441', null, null)).toEqual(true);822            expect($.validator.methods['validate-cc-number']823                .call($.validator.prototype, '3696444444444445', null, null)).toEqual(true);824            expect($.validator.methods['validate-cc-number']825                .call($.validator.prototype, '3796444444444444', null, null)).toEqual(true);826            expect($.validator.methods['validate-cc-number']827                .call($.validator.prototype, '3896444444444443', null, null)).toEqual(true);828            expect($.validator.methods['validate-cc-number']829                .call($.validator.prototype, '3528444444444449', null, null)).toEqual(true);830            expect($.validator.methods['validate-cc-number']831                .call($.validator.prototype, '3529444444444448', null, null)).toEqual(true);832            expect($.validator.methods['validate-cc-number']833                .call($.validator.prototype, '6221262244444440', null, null)).toEqual(true);834            expect($.validator.methods['validate-cc-number']835                .call($.validator.prototype, '6229981111111111', null, null)).toEqual(true);836            expect($.validator.methods['validate-cc-number']837                .call($.validator.prototype, '6249981111111117', null, null)).toEqual(true);838            expect($.validator.methods['validate-cc-number']839                .call($.validator.prototype, '6279981111111110', null, null)).toEqual(true);840            expect($.validator.methods['validate-cc-number']841                .call($.validator.prototype, '6282981111111115', null, null)).toEqual(true);842            expect($.validator.methods['validate-cc-number']843                .call($.validator.prototype, '6289981111111118', null, null)).toEqual(true);844        });845    });846    describe('Testing validate-cc-type', function () {847        it('validate-cc-type', function () {848            var select = $('<select id="cc-type">' +849                '<option value="">' +850                '</option><option value="VI">' +851                '</option><option value="MC">' +852                '</option><option value="AE">' +853                '</option><option value="DI">' +854                '</option><option value="DN">' +855                '</option><option value="JCB">' +856                '</option><option value="UP">' +857                '</option>' +858                '</select>');859            select.val('VI');860            expect($.validator.methods['validate-cc-type']861                .call($.validator.prototype, '4916835098995909', null, select)).toEqual(true);862            expect($.validator.methods['validate-cc-type']863                .call($.validator.prototype, '5265071363284878', null, select)).toEqual(false);864            select.val('MC');865            expect($.validator.methods['validate-cc-type']866                .call($.validator.prototype, '5265071363284878', null, select)).toEqual(true);867            expect($.validator.methods['validate-cc-type']868                .call($.validator.prototype, '4916835098995909', null, select)).toEqual(false);869            select.val('AE');870            expect($.validator.methods['validate-cc-type']871                .call($.validator.prototype, '371293266574617', null, select)).toEqual(true);872            expect($.validator.methods['validate-cc-type']873                .call($.validator.prototype, '5265071363284878', null, select)).toEqual(false);874            select.val('DI');875            expect($.validator.methods['validate-cc-type']876                .call($.validator.prototype, '6011050000000009', null, select)).toEqual(true);877            expect($.validator.methods['validate-cc-type']878                .call($.validator.prototype, '371293266574617', null, select)).toEqual(false);879            select.val('DN');880            expect($.validator.methods['validate-cc-type']881                .call($.validator.prototype, '3095434000000001', null, select)).toEqual(true);882            expect($.validator.methods['validate-cc-type']883                .call($.validator.prototype, '6011050000000009', null, select)).toEqual(false);884            select.val('JCB');885            expect($.validator.methods['validate-cc-type']886                .call($.validator.prototype, '3528000000000007', null, select)).toEqual(true);887            expect($.validator.methods['validate-cc-type']888                .call($.validator.prototype, '3095434000000001', null, select)).toEqual(false);889        });890    });891    describe('Testing validate-cc-exp', function () {892        it('validate-cc-exp', function () {893            var year = $('<input id="year" type="text" value="4916808263499650"/>'),894                currentTime  = new Date(),895                currentMonth = currentTime.getMonth() + 1,896                currentYear  = currentTime.getFullYear();897            year.val(currentYear);898            if (currentMonth > 1) {899                expect($.validator.methods['validate-cc-exp']900                    .call($.validator.prototype, currentMonth - 1, null, year)).toEqual(false);901            }902            expect($.validator.methods['validate-cc-exp']903                .call($.validator.prototype, currentMonth, null, year)).toEqual(true);904            year.val(currentYear + 1);905            expect($.validator.methods['validate-cc-exp']906                .call($.validator.prototype, currentMonth, null, year)).toEqual(true);907        });908    });909    describe('Testing validate-cc-cvn', function () {910        it('validate-cc-cvn', function () {911            var ccType = $('<select id="cc-type">' +912                '<option value=""></option>' +913                '<option value="VI"></option>' +914                '<option value="MC"></option>' +915                '<option value="AE"></option>' +916                '<option value="DI"></option>' +917                '</select>');918            ccType.val('VI');919            expect($.validator.methods['validate-cc-cvn']920                .call($.validator.prototype, '123', null, ccType)).toEqual(true);921            expect($.validator.methods['validate-cc-cvn']922                .call($.validator.prototype, '1234', null, ccType)).toEqual(false);923            ccType.val('MC');924            expect($.validator.methods['validate-cc-cvn']925                .call($.validator.prototype, '123', null, ccType)).toEqual(true);926            expect($.validator.methods['validate-cc-cvn']927                .call($.validator.prototype, '1234', null, ccType)).toEqual(false);928            ccType.val('AE');929            expect($.validator.methods['validate-cc-cvn']930                .call($.validator.prototype, '1234', null, ccType)).toEqual(true);931            expect($.validator.methods['validate-cc-cvn']932                .call($.validator.prototype, '123', null, ccType)).toEqual(false);933            ccType.val('DI');934            expect($.validator.methods['validate-cc-cvn']935                .call($.validator.prototype, '123', null, ccType)).toEqual(true);936            expect($.validator.methods['validate-cc-cvn']937                .call($.validator.prototype, '1234', null, ccType)).toEqual(false);938        });939    });940    describe('Testing validate-number-range', function () {941        it('validate-number-range', function () {942            var el1 = $('<input type="text" value="" ' +943                'class="validate-number-range number-range-10-20 number-range-10-100.20">').get(0);944            expect($.validator.methods['validate-number-range']945                .call($.validator.prototype, '-1', null, null)).toEqual(true);946            expect($.validator.methods['validate-number-range']947                .call($.validator.prototype, '1', null, null)).toEqual(true);948            expect($.validator.methods['validate-number-range']949                .call($.validator.prototype, '', null, null)).toEqual(true);950            expect($.validator.methods['validate-number-range']951                .call($.validator.prototype, null, null, null)).toEqual(true);952            expect($.validator.methods['validate-number-range']953                .call($.validator.prototype, '0', null, null)).toEqual(true);954            expect($.validator.methods['validate-number-range']955                .call($.validator.prototype, 'asds', null, null)).toEqual(false);956            expect($.validator.methods['validate-number-range']957                .call($.validator.prototype, '10', null, '10-20.06')).toEqual(true);958            expect($.validator.methods['validate-number-range']959                .call($.validator.prototype, '15', null, '10-20.06')).toEqual(true);960            expect($.validator.methods['validate-number-range']961                .call($.validator.prototype, '1', null, '10-20.06')).toEqual(false);962            expect($.validator.methods['validate-number-range']963                .call($.validator.prototype, '30', null, '10-20.06')).toEqual(false);964            expect($.validator.methods['validate-number-range']965                .call($.validator.prototype, '10', el1, null)).toEqual(true);966            expect($.validator.methods['validate-number-range']967                .call($.validator.prototype, '15', el1, null)).toEqual(true);968            expect($.validator.methods['validate-number-range']969                .call($.validator.prototype, '1', el1, null)).toEqual(false);970            expect($.validator.methods['validate-number-range']971                .call($.validator.prototype, '30', el1, null)).toEqual(true);972        });973    });974    describe('Testing validate-digits-range', function () {975        it('validate-digits-range', function () {976            var el1 = $('<input type="text" value="" ' +977                'class="validate-digits-range digits-range-10-20 digits-range-10-100.20">').get(0);978            expect($.validator.methods['validate-digits-range']979                .call($.validator.prototype, '-1', null, null)).toEqual(true);980            expect($.validator.methods['validate-digits-range']981                .call($.validator.prototype, '1', null, null)).toEqual(true);982            expect($.validator.methods['validate-digits-range']983                .call($.validator.prototype, '', null, null)).toEqual(true);984            expect($.validator.methods['validate-digits-range']985                .call($.validator.prototype, null, null, null)).toEqual(true);986            expect($.validator.methods['validate-digits-range']987                .call($.validator.prototype, '0', null, null)).toEqual(true);988            expect($.validator.methods['validate-digits-range']989                .call($.validator.prototype, 'asds', null, null)).toEqual(false);990            expect($.validator.methods['validate-digits-range']991                .call($.validator.prototype, '10', null, '10-20')).toEqual(true);992            expect($.validator.methods['validate-digits-range']993                .call($.validator.prototype, '15', null, '10-20')).toEqual(true);994            expect($.validator.methods['validate-digits-range']995                .call($.validator.prototype, '1', null, '10-20')).toEqual(false);996            expect($.validator.methods['validate-digits-range']997                .call($.validator.prototype, '30', null, '10-20')).toEqual(false);998            expect($.validator.methods['validate-digits-range']999                .call($.validator.prototype, '30', null, '10-20.06')).toEqual(false);1000            expect($.validator.methods['validate-digits-range']1001                .call($.validator.prototype, '10', el1, null)).toEqual(true);1002            expect($.validator.methods['validate-digits-range']1003                .call($.validator.prototype, '15', el1, null)).toEqual(true);1004            expect($.validator.methods['validate-digits-range']1005                .call($.validator.prototype, '1', el1, null)).toEqual(false);1006            expect($.validator.methods['validate-digits-range']1007                .call($.validator.prototype, '30', el1, null)).toEqual(false);1008        });1009    });1010    describe('Testing 3 bytes characters only policy (UTF-8)', function () {1011        it('rejects data, if any of the characters cannot be stored using UTF-8 collation', function () {1012            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1013                $.validator.prototype, 'ð
ð', null1014            )).toEqual(false);1015            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1016                $.validator.prototype, 'ð
 test ð', null1017            )).toEqual(false);1018            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1019                $.validator.prototype, 'ð© ð» ð', null1020            )).toEqual(false);1021        });1022        it('approves data, if all the characters can be stored using UTF-8 collation', function () {1023            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1024                $.validator.prototype, '', null1025            )).toEqual(true);1026            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1027                $.validator.prototype, '!$-_%ç&#?!', null1028            )).toEqual(true);1029            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1030                $.validator.prototype, '1234567890', null1031            )).toEqual(true);1032            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1033                $.validator.prototype, '   ', null1034            )).toEqual(true);1035            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1036                $.validator.prototype, 'test', null1037            )).toEqual(true);1038            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1039                $.validator.prototype, 'иÑпÑÑание', null1040            )).toEqual(true);1041            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1042                $.validator.prototype, 'ÑеÑÑ', null1043            )).toEqual(true);1044            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1045                $.validator.prototype, 'ÖÕ¸ÖÕ±Õ¡ÖÕ¯Õ¸ÖÕ´', null1046            )).toEqual(true);1047            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1048                $.validator.prototype, 'परà¥à¤à¥à¤·à¤£', null1049            )).toEqual(true);1050            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1051                $.validator.prototype, 'ãã¹ã', null1052            )).toEqual(true);1053            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1054                $.validator.prototype, 'í
ì¤í¸', null1055            )).toEqual(true);1056            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1057                $.validator.prototype, 'æµè¯', null1058            )).toEqual(true);1059            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1060                $.validator.prototype, '測試', null1061            )).toEqual(true);1062            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1063                $.validator.prototype, 'à¸à¸à¸ªà¸à¸', null1064            )).toEqual(true);1065            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1066                $.validator.prototype, 'δοκιμή', null1067            )).toEqual(true);1068            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1069                $.validator.prototype, 'اختبار', null1070            )).toEqual(true);1071            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1072                $.validator.prototype, 'تست', null1073            )).toEqual(true);1074            expect($.validator.methods['validate-no-utf8mb4-characters'].call(1075                $.validator.prototype, '×Ö´×Ö°×Ö¸×', null1076            )).toEqual(true);1077        });1078    });1079    describe('Testing validate-forbidden-extensions', function () {1080        it('validate-forbidden-extensions', function () {1081            var el1 = $('<input type="text" value="" ' +1082                'class="validate-extensions" data-validation-params="php,phtml">').get(0);1083            expect($.validator.methods['validate-forbidden-extensions']1084                .call($.validator.prototype, 'php', el1, null)).toEqual(false);1085            expect($.validator.methods['validate-forbidden-extensions']1086                .call($.validator.prototype, 'php,phtml', el1, null)).toEqual(false);1087            expect($.validator.methods['validate-forbidden-extensions']1088                .call($.validator.prototype, 'html', el1, null)).toEqual(true);1089            expect($.validator.methods['validate-forbidden-extensions']1090                .call($.validator.prototype, 'html,png', el1, null)).toEqual(true);1091            expect($.validator.methods['validate-forbidden-extensions']1092                .call($.validator.prototype, 'php,html', el1, null)).toEqual(false);1093            expect($.validator.methods['validate-forbidden-extensions']1094                .call($.validator.prototype, 'html,php', el1, null)).toEqual(false);1095        });1096    });...test-validation.js
Source:test-validation.js  
1/**2 * Copyright © 2016 Magento. All rights reserved.3 * See COPYING.txt for license details.4 */5test( "testValidateNoHtmlTags", function() {6    expect(4);7    equal($.validator.methods['validate-no-html-tags'].call(this, ""),true);8    equal($.validator.methods['validate-no-html-tags'].call(this, null),true);9    equal($.validator.methods['validate-no-html-tags'].call(this, "abc"),true);10    equal($.validator.methods['validate-no-html-tags'].call(this, "<div>abc</div>"),false);11});12test( "testAllowContainerClassName", function() {13    expect(4);14    var radio = $('<input type="radio" class="change-container-classname"/>');15    radio.appendTo("#qunit-fixture");16    equal($.validator.methods['allow-container-className'].call(this, radio[0]),true);17    var checkbox = $('<input type="checkbox" class="change-container-classname"/>');18    equal($.validator.methods['allow-container-className'].call(this, checkbox[0]),true);19    var radio2 = $('<input type="radio"/>');20    equal($.validator.methods['allow-container-className'].call(this, radio2[0]),false);21    var checkbox2 = $('<input type="checkbox"/>');22    equal($.validator.methods['allow-container-className'].call(this, checkbox2[0]),false);23});24test( "testValidateSelect", function() {25    expect(5);26    equal($.validator.methods['validate-select'].call(this, ""),false);27    equal($.validator.methods['validate-select'].call(this, "none"),false);28    equal($.validator.methods['validate-select'].call(this, null),false);29    equal($.validator.methods['validate-select'].call(this, undefined),false);30    equal($.validator.methods['validate-select'].call(this, "abc"),true);31});32test( "testValidateNotEmpty", function() {33    expect(5);34    ok(!$.validator.methods['validate-no-empty'].call(this, ""));35    ok(!$.validator.methods['validate-no-empty'].call(this, null));36    ok(!$.validator.methods['validate-no-empty'].call(this, undefined));37    ok(!$.validator.methods['validate-no-empty'].call(this, "   "));38    ok($.validator.methods['validate-no-empty'].call(this, "test"));39});40test( "testValidateStreet", function() {41    expect(9);42    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, ""),true);43    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, null),true);44    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, undefined),true);45    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, "   "),true);46    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, "abc   "),true);47    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, " 123  "),true);48    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, "  abc123 "),true);49    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, "  !@# "),false);50    equal($.validator.methods['validate-alphanum-with-spaces'].call(this, "  abc.123 "),false);51});52test( "testValidatePhoneStrict", function() {53    expect(9);54    equal($.validator.methods['validate-phoneStrict'].call(this, ""),true);55    equal($.validator.methods['validate-phoneStrict'].call(this, null),true);56    equal($.validator.methods['validate-phoneStrict'].call(this, undefined),true);57    equal($.validator.methods['validate-phoneStrict'].call(this, "   "),false);58    equal($.validator.methods['validate-phoneStrict'].call(this, "5121231234"),false);59    equal($.validator.methods['validate-phoneStrict'].call(this, "512.123.1234"),false);60    equal($.validator.methods['validate-phoneStrict'].call(this, "512-123-1234"),true);61    equal($.validator.methods['validate-phoneStrict'].call(this, "(512)123-1234"),true);62    equal($.validator.methods['validate-phoneStrict'].call(this, "(512) 123-1234"),true);63});64test( "testValidatePhoneLax", function() {65    expect(11);66    equal($.validator.methods['validate-phoneLax'].call(this, ""),true);67    equal($.validator.methods['validate-phoneLax'].call(this, null),true);68    equal($.validator.methods['validate-phoneLax'].call(this, undefined),true);69    equal($.validator.methods['validate-phoneLax'].call(this, "   "),false);70    equal($.validator.methods['validate-phoneLax'].call(this, "5121231234"),true);71    equal($.validator.methods['validate-phoneLax'].call(this, "512.123.1234"),true);72    equal($.validator.methods['validate-phoneLax'].call(this, "512-123-1234"),true);73    equal($.validator.methods['validate-phoneLax'].call(this, "(512)123-1234"),true);74    equal($.validator.methods['validate-phoneLax'].call(this, "(512) 123-1234"),true);75    equal($.validator.methods['validate-phoneLax'].call(this, "(512)1231234"),true);76    equal($.validator.methods['validate-phoneLax'].call(this, "(512)_123_1234"),false);77});78test( "testValidateFax", function() {79    expect(9);80    equal($.validator.methods['validate-fax'].call(this, ""),true);81    equal($.validator.methods['validate-fax'].call(this, null),true);82    equal($.validator.methods['validate-fax'].call(this, undefined),true);83    equal($.validator.methods['validate-fax'].call(this, "   "),false);84    equal($.validator.methods['validate-fax'].call(this, "5121231234"),false);85    equal($.validator.methods['validate-fax'].call(this, "512.123.1234"),false);86    equal($.validator.methods['validate-fax'].call(this, "512-123-1234"),true);87    equal($.validator.methods['validate-fax'].call(this, "(512)123-1234"),true);88    equal($.validator.methods['validate-fax'].call(this, "(512) 123-1234"),true);89});90test( "testValidateEmail", function() {91    expect(11);92    equal($.validator.methods['validate-email'].call(this, ""),true);93    equal($.validator.methods['validate-email'].call(this, null),true);94    equal($.validator.methods['validate-email'].call(this, undefined),true);95    equal($.validator.methods['validate-email'].call(this, "   "),false);96    equal($.validator.methods['validate-email'].call(this, "123@123.com"),true);97    equal($.validator.methods['validate-email'].call(this, "abc@124.en"),true);98    equal($.validator.methods['validate-email'].call(this, "abc@abc.commmmm"),true);99    equal($.validator.methods['validate-email'].call(this, "abc.abc.abc@abc.commmmm"),true);100    equal($.validator.methods['validate-email'].call(this, "abc.abc-abc@abc.commmmm"),true);101    equal($.validator.methods['validate-email'].call(this, "abc.abc_abc@abc.commmmm"),true);102    equal($.validator.methods['validate-email'].call(this, "abc.abc_abc@abc"),false);103});104test( "testValidateEmailSender", function() {105    expect(10);106    equal($.validator.methods['validate-emailSender'].call(this, ""),true);107    equal($.validator.methods['validate-emailSender'].call(null),true);108    equal($.validator.methods['validate-emailSender'].call(undefined),true);109    equal($.validator.methods['validate-emailSender'].call("   "),true);110    equal($.validator.methods['validate-emailSender'].call("123@123.com"),true);111    equal($.validator.methods['validate-emailSender'].call("abc@124.en"),true);112    equal($.validator.methods['validate-emailSender'].call("abc@abc.commmmm"),true);113    equal($.validator.methods['validate-emailSender'].call("abc.abc.abc@abc.commmmm"),true);114    equal($.validator.methods['validate-emailSender'].call("abc.abc-abc@abc.commmmm"),true);115    equal($.validator.methods['validate-emailSender'].call("abc.abc_abc@abc.commmmm"),true);116});117test( "testValidatePassword", function() {118    expect(9);119    equal($.validator.methods['validate-password'].call(this, ""),true);120    equal($.validator.methods['validate-password'].call(this, null),false);121    equal($.validator.methods['validate-password'].call(this, undefined),false);122    equal($.validator.methods['validate-password'].call(this, "   "),true);123    equal($.validator.methods['validate-password'].call(this, "123@123.com"),true);124    equal($.validator.methods['validate-password'].call(this, "abc"),false);125    equal($.validator.methods['validate-password'].call(this, "abc       "),false);126    equal($.validator.methods['validate-password'].call(this, "     abc      "),false);127    equal($.validator.methods['validate-password'].call(this, "dddd"),false);128});129test( "testValidateAdminPassword", function() {130    expect(9);131    equal(true, $.validator.methods['validate-admin-password'].call(this, ""));132    equal(false, $.validator.methods['validate-admin-password'].call(this, null));133    equal(false, $.validator.methods['validate-admin-password'].call(this, undefined));134    equal(true, $.validator.methods['validate-admin-password'].call(this, "   "));135    equal(true, $.validator.methods['validate-admin-password'].call(this, "123@123.com"));136    equal(false, $.validator.methods['validate-admin-password'].call(this, "abc"));137    equal(false, $.validator.methods['validate-admin-password'].call(this, "abc       "));138    equal(false, $.validator.methods['validate-admin-password'].call(this, "     abc      "));139    equal(false, $.validator.methods['validate-admin-password'].call(this, "dddd"));140});141test( "testValidateUrl", function() {142    expect(8);143    equal(true, $.validator.methods['validate-url'].call(this, ""));144    equal(true, $.validator.methods['validate-url'].call(this, null));145    equal(true, $.validator.methods['validate-url'].call(this, undefined));146    equal(false, $.validator.methods['validate-url'].call(this, "   "));147    equal(true, $.validator.methods['validate-url'].call(this, "http://www.google.com"));148    equal(true, $.validator.methods['validate-url'].call(this, "http://127.0.0.1:8080/index.php"));149    equal(true, $.validator.methods['validate-url'].call(this, "http://app-spot.com/index.php"));150    equal(true, $.validator.methods['validate-url'].call(this, "http://app-spot_space.com/index.php"));151});152test( "testValidateCleanUrl", function() {153    expect(8);154    equal(true, $.validator.methods['validate-clean-url'].call(this, ""));155    equal(true, $.validator.methods['validate-clean-url'].call(this, null));156    equal(true, $.validator.methods['validate-clean-url'].call(this, undefined));157    equal(false, $.validator.methods['validate-clean-url'].call(this, "   "));158    equal(true, $.validator.methods['validate-clean-url'].call(this, "http://www.google.com"));159    equal(false, $.validator.methods['validate-clean-url'].call(this, "http://127.0.0.1:8080/index.php"));160    equal(false, $.validator.methods['validate-clean-url'].call(this, "http://127.0.0.1:8080"));161    equal(false, $.validator.methods['validate-clean-url'].call(this, "http://127.0.0.1"));162});163test( "testValidateXmlIdentifier", function() {164    expect(8);165    equal(true, $.validator.methods['validate-xml-identifier'].call(this, ""));166    equal(true, $.validator.methods['validate-xml-identifier'].call(this, null));167    equal(true, $.validator.methods['validate-xml-identifier'].call(this, undefined));168    equal(false, $.validator.methods['validate-xml-identifier'].call(this, "   "));169    equal(true, $.validator.methods['validate-xml-identifier'].call(this, "abc"));170    equal(true, $.validator.methods['validate-xml-identifier'].call(this, "abc_123"));171    equal(true, $.validator.methods['validate-xml-identifier'].call(this, "abc-123"));172    equal(false, $.validator.methods['validate-xml-identifier'].call(this, "123-abc"));173});174test( "testValidateSsn", function() {175    expect(8);176    equal(true, $.validator.methods['validate-ssn'].call(this, ""));177    equal(true, $.validator.methods['validate-ssn'].call(this, null));178    equal(true, $.validator.methods['validate-ssn'].call(this, undefined));179    equal(false, $.validator.methods['validate-ssn'].call(this, "   "));180    equal(false, $.validator.methods['validate-ssn'].call(this, "abc"));181    equal(true, $.validator.methods['validate-ssn'].call(this, "123-13-1234"));182    equal(true, $.validator.methods['validate-ssn'].call(this, "012-12-1234"));183    equal(false, $.validator.methods['validate-ssn'].call(this, "23-12-1234"));184});185test( "testValidateZip", function() {186    expect(8);187    equal(true, $.validator.methods['validate-zip-us'].call(this, ""));188    equal(true, $.validator.methods['validate-zip-us'].call(this, null));189    equal(true, $.validator.methods['validate-zip-us'].call(this, undefined));190    equal(false, $.validator.methods['validate-zip-us'].call(this, "   "));191    equal(true, $.validator.methods['validate-zip-us'].call(this, "12345-1234"));192    equal(true, $.validator.methods['validate-zip-us'].call(this, "02345"));193    equal(false, $.validator.methods['validate-zip-us'].call(this, "1234"));194    equal(false, $.validator.methods['validate-zip-us'].call(this, "1234-1234"));195});196test( "testValidateDateAu", function() {197    expect(8);198    equal(true, $.validator.methods['validate-date-au'].call(this, ""));199    equal(true, $.validator.methods['validate-date-au'].call(this, null));200    equal(true, $.validator.methods['validate-date-au'].call(this, undefined));201    equal(false, $.validator.methods['validate-date-au'].call(this, "   "));202    equal(true, $.validator.methods['validate-date-au'].call(this, "01/01/2012"));203    equal(true, $.validator.methods['validate-date-au'].call(this, "30/01/2012"));204    equal(false, $.validator.methods['validate-date-au'].call(this, "01/30/2012"));205    equal(false, $.validator.methods['validate-date-au'].call(this, "1/1/2012"));206});207test( "testValidateCurrencyDollar", function() {208    expect(8);209    equal(true, $.validator.methods['validate-currency-dollar'].call(this, ""));210    equal(true, $.validator.methods['validate-currency-dollar'].call(this, null));211    equal(true, $.validator.methods['validate-currency-dollar'].call(this, undefined));212    equal(false, $.validator.methods['validate-currency-dollar'].call(this, "   "));213    equal(true, $.validator.methods['validate-currency-dollar'].call(this, "$123"));214    equal(true, $.validator.methods['validate-currency-dollar'].call(this, "$1,123.00"));215    equal(true, $.validator.methods['validate-currency-dollar'].call(this, "$1234"));216    equal(false, $.validator.methods['validate-currency-dollar'].call(this, "$1234.1234"));217});218test( "testValidateNotNegativeNumber", function() {219    expect(11);220    equal(true, $.validator.methods['validate-not-negative-number'].call(this, ""));221    equal(true, $.validator.methods['validate-not-negative-number'].call(this, null));222    equal(true, $.validator.methods['validate-not-negative-number'].call(this, undefined));223    equal(false, $.validator.methods['validate-not-negative-number'].call(this, "   "));224    equal(true, $.validator.methods['validate-not-negative-number'].call(this, "0"));225    equal(true, $.validator.methods['validate-not-negative-number'].call(this, "1"));226    equal(true, $.validator.methods['validate-not-negative-number'].call(this, "1234"));227    equal(true, $.validator.methods['validate-not-negative-number'].call(this, "1,234.1234"));228    equal(false, $.validator.methods['validate-not-negative-number'].call(this, "-1"));229    equal(false, $.validator.methods['validate-not-negative-number'].call(this, "-1e"));230    equal(false, $.validator.methods['validate-not-negative-number'].call(this, "-1,234.1234"));231});232test( "testValidateGreaterThanZero", function() {233    expect(11);234    equal(true, $.validator.methods['validate-greater-than-zero'].call(this, ""));235    equal(true, $.validator.methods['validate-greater-than-zero'].call(this, null));236    equal(true, $.validator.methods['validate-greater-than-zero'].call(this, undefined));237    equal(false, $.validator.methods['validate-greater-than-zero'].call(this, "   "));238    equal(false, $.validator.methods['validate-greater-than-zero'].call(this, "0"));239    equal(true, $.validator.methods['validate-greater-than-zero'].call(this, "1"));240    equal(true, $.validator.methods['validate-greater-than-zero'].call(this, "1234"));241    equal(true, $.validator.methods['validate-greater-than-zero'].call(this, "1,234.1234"));242    equal(false, $.validator.methods['validate-greater-than-zero'].call(this, "-1"));243    equal(false, $.validator.methods['validate-greater-than-zero'].call(this, "-1e"));244    equal(false, $.validator.methods['validate-greater-than-zero'].call(this, "-1,234.1234"));245});246test( "testValidateCssLength", function() {247    expect(11);248    equal(true, $.validator.methods['validate-css-length'].call(this, ""));249    equal(true, $.validator.methods['validate-css-length'].call(this, null));250    equal(true, $.validator.methods['validate-css-length'].call(this, undefined));251    equal(false, $.validator.methods['validate-css-length'].call(this, "   "));252    equal(false, $.validator.methods['validate-css-length'].call(this, "0"));253    equal(true, $.validator.methods['validate-css-length'].call(this, "1"));254    equal(true, $.validator.methods['validate-css-length'].call(this, "1234"));255    equal(true, $.validator.methods['validate-css-length'].call(this, "1,234.1234"));256    equal(false, $.validator.methods['validate-css-length'].call(this, "-1"));257    equal(false, $.validator.methods['validate-css-length'].call(this, "-1e"));258    equal(false, $.validator.methods['validate-css-length'].call(this, "-1,234.1234"));259});260test( "testValidateData", function() {261    expect(9);262    equal(true, $.validator.methods['validate-data'].call(this, ""));263    equal(true, $.validator.methods['validate-data'].call(this, null));264    equal(true, $.validator.methods['validate-data'].call(this, undefined));265    equal(false, $.validator.methods['validate-data'].call(this, "   "));266    equal(false, $.validator.methods['validate-data'].call(this, "123abc"));267    equal(true, $.validator.methods['validate-data'].call(this, "abc"));268    equal(false, $.validator.methods['validate-data'].call(this, " abc"));269    equal(true, $.validator.methods['validate-data'].call(this, "abc123"));270    equal(false, $.validator.methods['validate-data'].call(this, "abc-123"));271});272test( "testValidateOneRequiredByName", function() {273    expect(4);274    var radio = $('<input type="radio" name="radio"/>');275    radio.appendTo("#qunit-fixture");276    ok(!$.validator.methods['validate-one-required-by-name'].call(this,277        null, radio[0]));278    var radio2 = $('<input type="radio" name="radio" checked/>');279    radio2.appendTo("#qunit-fixture");280    ok($.validator.methods['validate-one-required-by-name'].call(this,281        null, radio2[0]));282    var checkbox = $('<input type="checkbox" name="checkbox"/>');283    checkbox.appendTo("#qunit-fixture");284    ok(!$.validator.methods['validate-one-required-by-name'].call(this,285        null, checkbox[0]));286    var checkbox2 = $('<input type="checkbox" name="checkbox" checked/>');287    checkbox2.appendTo("#qunit-fixture");288    ok($.validator.methods['validate-one-required-by-name'].call(this,289        null, checkbox2[0]));290});291test( "testLessThanEqualsTo", function() {292    expect(5);293    var elm1 =  $('<input type="text" value=6 id="element1" />');294    var elm2 =  $('<input type="text" value=5 id="element2" />');295    ok(!$.validator.methods['less-than-equals-to'].call(this, elm1[0].value,296        elm1, elm2));297    elm1[0].value = 4;298    ok($.validator.methods['less-than-equals-to'].call(this, elm1[0].value,299        elm1, elm2));300    var elm3 =  $('<input type="text" id="element3" />');301    var elm4=  $('<input type="text" value=5 id="element4" />');302    ok($.validator.methods['less-than-equals-to'].call(this, elm3[0].value,303        elm3, elm4));304    var elm5 =  $('<input type="text" id="element6" />');305    var elm6=  $('<input type="text" value=6 id="element5" />');306    ok($.validator.methods['less-than-equals-to'].call(this, elm5[0].value,307        elm5, elm6));308    var elm7 =  $('<input type="text" value=20 id="element7" />');309    var elm8=  $('<input type="text" value=100 id="element8" />');310    ok($.validator.methods['less-than-equals-to'].call(this, elm7[0].value,311        elm7, elm8));312});313test( "testGreaterThanEqualsTo", function() {314    expect(5);315    var elm1 =  $('<input type="text" value=6 id="element1" />');316    var elm2 =  $('<input type="text" value=7 id="element2" />');317    ok(!$.validator.methods['greater-than-equals-to'].call(this, elm1[0].value,318        elm1, elm2));319    elm1[0].value = 9;320    ok($.validator.methods['greater-than-equals-to'].call(this, elm1[0].value,321        elm1, elm2));322    var elm3 =  $('<input type="text" id="element3" />');323    var elm4=  $('<input type="text" value=5 id="element4" />');324    ok($.validator.methods['greater-than-equals-to'].call(this, elm3[0].value,325        elm3, elm4));326    var elm5 =  $('<input type="text" id="element6" />');327    var elm6=  $('<input type="text" value=6 id="element5" />');328    ok($.validator.methods['greater-than-equals-to'].call(this, elm5[0].value,329        elm5, elm6));330    var elm7 =  $('<input type="text" value=100 id="element7" />');331    var elm8=  $('<input type="text" value=20 id="element8" />');332    ok($.validator.methods['greater-than-equals-to'].call(this, elm7[0].value,333        elm7, elm8));334});335test( "testValidateGroupedQty", function() {336    expect(5);337    var div1 = $('<div id="div1"/>');338    $('<input type="text"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")339                             .appendTo(div1);340    $('<input type="text"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")341                             .appendTo(div1);342    $('<input type="text"/>').appendTo(div1);343    ok(!$.validator.methods['validate-grouped-qty'].call(this, null, null, div1[0]));344    var div2 = $('<div id="div2"/>');345    $('<input type="text"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")346        .appendTo(div2);347    $('<input type="text" value="a"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")348        .appendTo(div2);349    $('<input type="text"/>').appendTo(div2);350    ok(!$.validator.methods['validate-grouped-qty'].call(this, null, null, div2[0]));351    var div3 = $('<div id="div3"/>');352    $('<input type="text"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")353        .appendTo(div3);354    $('<input type="text" value="-6"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")355        .appendTo(div3);356    $('<input type="text"/>').appendTo(div3);357    ok(!$.validator.methods['validate-grouped-qty'].call(this, null, null, div3[0]));358    var div4 = $('<div id="div4"/>');359    $('<input type="text"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")360        .appendTo(div4);361    $('<input type="text" value="6"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")362        .appendTo(div4);363    $('<input type="text"/>').appendTo(div4);364    ok($.validator.methods['validate-grouped-qty'].call(this, null, null, div4[0]));365    var div5 = $('<div id="div5"/>');366    $('<input type="text" value=""/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")367        .appendTo(div5);368    $('<input type="text" value="6"/>').attr("data-validate","{'validate-grouped-qty':'#super-product-table'}")369        .appendTo(div5);370    $('<input type="text"/>').appendTo(div5);371    ok($.validator.methods['validate-grouped-qty'].call(this, null, null, div5[0]));372});373test( "testValidateCCTypeSelect", function() {374    expect(14);375     var visaValid = $('<input id="visa-valid" type="text" value="4916808263499650"/>');376     var visaInvalid = $('<input id="visa-invalid" type="text" value="1234567890123456"/>');377     var mcValid = $('<input id="mc-valid" type="text" value="5203731841177490"/>');378     var mcInvalid = $('<input id="mc-invalid" type="text" value="1111222233334444"/>');379     var aeValid = $('<input id="ae-valid" type="text" value="376244899619217"/>');380     var aeInvalid = $('<input id="ae-invalid" type="text" value="123451234512345"/>');381    var diValid = $('<input id="di-valid" type="text" value="6011050000000009"/>');382    var diInvalid = $('<input id="di-invalid" type="text" value="6011199900000005"/>');383    var dnValid = $('<input id="dn-valid" type="text" value="3095434000000001"/>');384    var dnInvalid = $('<input id="dn-invalid" type="text" value="3799999900000003"/>');385    var jcbValid = $('<input id="jcb-valid" type="text" value="3528000000000007"/>');386    var jcbInvalid = $('<input id="jcb-invalid" type="text" value="359000001111118"/>');387    var upValid = $('<input id="up-valid" type="text" value="6221260000000000"/>');388    var upInvalid = $('<input id="up-invalid" type="text" value="6229260000000002"/>');389    ok($.validator.methods['validate-cc-type-select'].call(this, 'VI', null, visaValid));390    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'VI', null, visaInvalid));391    ok($.validator.methods['validate-cc-type-select'].call(this, 'MC', null, mcValid));392    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'MC', null, mcInvalid));393    ok($.validator.methods['validate-cc-type-select'].call(this, 'AE', null, aeValid));394    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'AE', null, aeInvalid));395    ok($.validator.methods['validate-cc-type-select'].call(this, 'DI', null, diValid));396    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'DI', null, diInvalid));397    ok($.validator.methods['validate-cc-type-select'].call(this, 'DN', null, dnValid));398    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'DN', null, dnInvalid));399    ok($.validator.methods['validate-cc-type-select'].call(this, 'JCB', null, jcbValid));400    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'JCB', null, jcbInvalid));401    ok($.validator.methods['validate-cc-type-select'].call(this, 'UP', null, upValid));402    ok(!$.validator.methods['validate-cc-type-select'].call(this, 'UP', null, upInvalid));403});404test( "testValidateCCNumber", function() {405    expect(37);406    ok($.validator.methods['validate-cc-number'].call(this, '4916835098995909', null, null));407    ok($.validator.methods['validate-cc-number'].call(this, '5265071363284878', null, null));408    ok($.validator.methods['validate-cc-number'].call(this, '6011120623356953', null, null));409    ok($.validator.methods['validate-cc-number'].call(this, '371293266574617', null, null));410    ok(!$.validator.methods['validate-cc-number'].call(this, '4916835098995901', null, null));411    ok(!$.validator.methods['validate-cc-number'].call(this, '5265071363284870', null, null));412    ok(!$.validator.methods['validate-cc-number'].call(this, '6011120623356951', null, null));413    ok(!$.validator.methods['validate-cc-number'].call(this, '371293266574619', null, null));414    ok($.validator.methods['validate-cc-number'].call(this, '2221220000000003', null, null));415    ok(!$.validator.methods['validate-cc-number'].call(this, '2721220000000008', null, null));416    ok($.validator.methods['validate-cc-number'].call(this, '601109020000000003', null, null));417    ok(!$.validator.methods['validate-cc-number'].call(this, '6011111144444444', null, null));418    ok($.validator.methods['validate-cc-number'].call(this, '6011222233334444', null, null));419    ok(!$.validator.methods['validate-cc-number'].call(this, '6011522233334447', null, null));420    ok($.validator.methods['validate-cc-number'].call(this, '601174455555553', null, null));421    ok(!$.validator.methods['validate-cc-number'].call(this, '6011745555555550', null, null));422    ok($.validator.methods['validate-cc-number'].call(this, '601177455555556', null, null));423    ok(!$.validator.methods['validate-cc-number'].call(this, '601182455555556', null, null));424    ok($.validator.methods['validate-cc-number'].call(this, '601187999555558', null, null));425    ok(!$.validator.methods['validate-cc-number'].call(this, '601287999555556', null, null));426    ok($.validator.methods['validate-cc-number'].call(this, '6444444444444443', null, null));427    ok(!$.validator.methods['validate-cc-number'].call(this, '6644444444444441', null, null));428    ok($.validator.methods['validate-cc-number'].call(this, '3044444444444444', null, null));429    ok(!$.validator.methods['validate-cc-number'].call(this, '3064444444444449', null, null));430    ok($.validator.methods['validate-cc-number'].call(this, '3095444444444442', null, null));431    ok(!$.validator.methods['validate-cc-number'].call(this, '3096444444444441', null, null));432    ok($.validator.methods['validate-cc-number'].call(this, '3696444444444445', null, null));433    ok(!$.validator.methods['validate-cc-number'].call(this, '3796444444444444', null, null));434    ok($.validator.methods['validate-cc-number'].call(this, '3896444444444443', null, null));435    ok($.validator.methods['validate-cc-number'].call(this, '3528444444444449', null, null));436    ok(!$.validator.methods['validate-cc-number'].call(this, '3529444444444448', null, null));437    ok($.validator.methods['validate-cc-number'].call(this, '6221262244444440', null, null));438    ok(!$.validator.methods['validate-cc-number'].call(this, '6229981111111111', null, null));439    ok($.validator.methods['validate-cc-number'].call(this, '6249981111111117', null, null));440    ok(!$.validator.methods['validate-cc-number'].call(this, '6279981111111110', null, null));441    ok($.validator.methods['validate-cc-number'].call(this, '6282981111111115', null, null));442    ok(!$.validator.methods['validate-cc-number'].call(this, '6289981111111118', null, null));443});444test( "testValidateCCType", function() {445    expect(14);446    var select = $('<select id="cc-type">' +447        '<option value="">' +448        '</option><option value="VI">' +449        '</option><option value="MC">' +450        '</option><option value="AE">' +451        '</option><option value="DI">' +452        '</option><option value="DN">' +453        '</option><option value="JCB">' +454        '</option><option value="UP">' +455        '</option>' +456        '</select>');457    select.val('VI');458    ok($.validator.methods['validate-cc-type'].call(this, '4916835098995909', null, select));459    ok(!$.validator.methods['validate-cc-type'].call(this, '5265071363284878', null, select));460    select.val('MC');461    ok($.validator.methods['validate-cc-type'].call(this, '5265071363284878', null, select));462    ok(!$.validator.methods['validate-cc-type'].call(this, '4916835098995909', null, select));463    select.val('AE');464    ok($.validator.methods['validate-cc-type'].call(this, '371293266574617', null, select));465    ok(!$.validator.methods['validate-cc-type'].call(this, '5265071363284878', null, select));466    select.val('DI');467    ok($.validator.methods['validate-cc-type'].call(this, '6011050000000009', null, select));468    ok(!$.validator.methods['validate-cc-type'].call(this, '371293266574617', null, select));469    select.val('DN');470    ok($.validator.methods['validate-cc-type'].call(this, '3095434000000001', null, select));471    ok(!$.validator.methods['validate-cc-type'].call(this, '6011050000000009', null, select));472    select.val('JCB');473    ok($.validator.methods['validate-cc-type'].call(this, '3528000000000007', null, select));474    ok(!$.validator.methods['validate-cc-type'].call(this, '3095434000000001', null, select));475    select.val('UP');476    ok($.validator.methods['validate-cc-type'].call(this, '6221260000000000', null, select));477    ok(!$.validator.methods['validate-cc-type'].call(this, '3528000000000007', null, select));478});479test( "testValidateCCExp", function() {480    expect(3);481    var year = $('<input id="year" type="text" value="4916808263499650"/>'),482        currentTime  = new Date(),483        currentMonth = currentTime.getMonth() + 1,484        currentYear  = currentTime.getFullYear();485    year.val(currentYear);486    if (currentMonth > 1) {487        ok(!$.validator.methods['validate-cc-exp'].call(this, currentMonth - 1, null, year));488    }489    ok($.validator.methods['validate-cc-exp'].call(this, currentMonth, null, year));490    year.val(currentYear + 1);491    ok($.validator.methods['validate-cc-exp'].call(this, currentMonth, null, year));492});493test( "testValidateCCCvn", function() {494    expect(8);495     var ccType = $('<select id="cc-type">'+496     '<option value=""></option>'+497     '<option value="VI"></option>'+498     '<option value="MC"></option>'+499     '<option value="AE"></option>'+500     '<option value="DI"></option>'+501     '</select>');502    ccType.val('VI');503    ok($.validator.methods['validate-cc-cvn'].call(this, '123', null, ccType));504    ok(!$.validator.methods['validate-cc-cvn'].call(this, '1234', null, ccType));505    ccType.val('MC');506    ok($.validator.methods['validate-cc-cvn'].call(this, '123', null, ccType));507    ok(!$.validator.methods['validate-cc-cvn'].call(this, '1234', null, ccType));508    ccType.val('AE');509    ok($.validator.methods['validate-cc-cvn'].call(this, '1234', null, ccType));510    ok(!$.validator.methods['validate-cc-cvn'].call(this, '123', null, ccType));511    ccType.val('DI');512    ok($.validator.methods['validate-cc-cvn'].call(this, '123', null, ccType));513    ok(!$.validator.methods['validate-cc-cvn'].call(this, '1234', null, ccType));514});515test( "testValidateNumberRange", function() {516    expect(14);517    ok($.validator.methods['validate-number-range'].call(this, '-1', null, null));518    ok($.validator.methods['validate-number-range'].call(this, '1', null, null));519    ok($.validator.methods['validate-number-range'].call(this, '', null, null));520    ok($.validator.methods['validate-number-range'].call(this, null, null, null));521    ok($.validator.methods['validate-number-range'].call(this, '0', null, null));522    ok(!$.validator.methods['validate-number-range'].call(this, 'asds', null, null));523    ok($.validator.methods['validate-number-range'].call(this, '10', null, '10-20.06'));524    ok($.validator.methods['validate-number-range'].call(this, '15', null, '10-20.06'));525    ok(!$.validator.methods['validate-number-range'].call(this, '1', null, '10-20.06'));526    ok(!$.validator.methods['validate-number-range'].call(this, '30', null, '10-20.06'));527    var el1 = $('<input type="text" value="" class="validate-number-range number-range-10-20 number-range-10-100.20">').get(0);528    ok($.validator.methods['validate-number-range'].call(this, '10', el1, null));529    ok($.validator.methods['validate-number-range'].call(this, '15', el1, null));530    ok(!$.validator.methods['validate-number-range'].call(this, '1', el1, null));531    ok($.validator.methods['validate-number-range'].call(this, '30', el1, null));532});533test( "testValidateDigitsRange", function() {534    expect(15);535    ok($.validator.methods['validate-digits-range'].call(this, '-1', null, null));536    ok($.validator.methods['validate-digits-range'].call(this, '1', null, null));537    ok($.validator.methods['validate-digits-range'].call(this, '', null, null));538    ok($.validator.methods['validate-digits-range'].call(this, null, null, null));539    ok($.validator.methods['validate-digits-range'].call(this, '0', null, null));540    ok(!$.validator.methods['validate-digits-range'].call(this, 'asds', null, null));541    ok($.validator.methods['validate-digits-range'].call(this, '10', null, '10-20'));542    ok($.validator.methods['validate-digits-range'].call(this, '15', null, '10-20'));543    ok(!$.validator.methods['validate-digits-range'].call(this, '1', null, '10-20'));544    ok(!$.validator.methods['validate-digits-range'].call(this, '30', null, '10-20'));545    ok($.validator.methods['validate-digits-range'].call(this, '30', null, '10-20.06'));546    var el1 = $('<input type="text" value="" class="validate-digits-range digits-range-10-20 digits-range-10-100.20">').get(0);547    ok($.validator.methods['validate-digits-range'].call(this, '10', el1, null));548    ok($.validator.methods['validate-digits-range'].call(this, '15', el1, null));549    ok(!$.validator.methods['validate-digits-range'].call(this, '1', el1, null));550    ok(!$.validator.methods['validate-digits-range'].call(this, '30', el1, null));...flow.js
Source:flow.js  
1"use strict";2var _utils = require("./utils");3const defineInterfaceishType = (name, typeParameterType = "TypeParameterDeclaration") => {4  (0, _utils.default)(name, {5    builder: ["id", "typeParameters", "extends", "body"],6    visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"],7    aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],8    fields: {9      id: (0, _utils.validateType)("Identifier"),10      typeParameters: (0, _utils.validateOptionalType)(typeParameterType),11      extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),12      mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),13      implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")),14      body: (0, _utils.validateType)("ObjectTypeAnnotation")15    }16  });17};18(0, _utils.default)("AnyTypeAnnotation", {19  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]20});21(0, _utils.default)("ArrayTypeAnnotation", {22  visitor: ["elementType"],23  aliases: ["Flow", "FlowType"],24  fields: {25    elementType: (0, _utils.validateType)("FlowType")26  }27});28(0, _utils.default)("BooleanTypeAnnotation", {29  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]30});31(0, _utils.default)("BooleanLiteralTypeAnnotation", {32  builder: ["value"],33  aliases: ["Flow", "FlowType"],34  fields: {35    value: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))36  }37});38(0, _utils.default)("NullLiteralTypeAnnotation", {39  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]40});41(0, _utils.default)("ClassImplements", {42  visitor: ["id", "typeParameters"],43  aliases: ["Flow"],44  fields: {45    id: (0, _utils.validateType)("Identifier"),46    typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation")47  }48});49defineInterfaceishType("DeclareClass");50(0, _utils.default)("DeclareFunction", {51  visitor: ["id"],52  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],53  fields: {54    id: (0, _utils.validateType)("Identifier"),55    predicate: (0, _utils.validateOptionalType)("DeclaredPredicate")56  }57});58defineInterfaceishType("DeclareInterface");59(0, _utils.default)("DeclareModule", {60  builder: ["id", "body", "kind"],61  visitor: ["id", "body"],62  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],63  fields: {64    id: (0, _utils.validateType)(["Identifier", "StringLiteral"]),65    body: (0, _utils.validateType)("BlockStatement"),66    kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES"))67  }68});69(0, _utils.default)("DeclareModuleExports", {70  visitor: ["typeAnnotation"],71  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],72  fields: {73    typeAnnotation: (0, _utils.validateType)("TypeAnnotation")74  }75});76(0, _utils.default)("DeclareTypeAlias", {77  visitor: ["id", "typeParameters", "right"],78  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],79  fields: {80    id: (0, _utils.validateType)("Identifier"),81    typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),82    right: (0, _utils.validateType)("FlowType")83  }84});85(0, _utils.default)("DeclareOpaqueType", {86  visitor: ["id", "typeParameters", "supertype"],87  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],88  fields: {89    id: (0, _utils.validateType)("Identifier"),90    typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),91    supertype: (0, _utils.validateOptionalType)("FlowType"),92    impltype: (0, _utils.validateOptionalType)("FlowType")93  }94});95(0, _utils.default)("DeclareVariable", {96  visitor: ["id"],97  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],98  fields: {99    id: (0, _utils.validateType)("Identifier")100  }101});102(0, _utils.default)("DeclareExportDeclaration", {103  visitor: ["declaration", "specifiers", "source"],104  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],105  fields: {106    declaration: (0, _utils.validateOptionalType)("Flow"),107    specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])),108    source: (0, _utils.validateOptionalType)("StringLiteral"),109    default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean"))110  }111});112(0, _utils.default)("DeclareExportAllDeclaration", {113  visitor: ["source"],114  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],115  fields: {116    source: (0, _utils.validateType)("StringLiteral"),117    exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value"))118  }119});120(0, _utils.default)("DeclaredPredicate", {121  visitor: ["value"],122  aliases: ["Flow", "FlowPredicate"],123  fields: {124    value: (0, _utils.validateType)("Flow")125  }126});127(0, _utils.default)("ExistsTypeAnnotation", {128  aliases: ["Flow", "FlowType"]129});130(0, _utils.default)("FunctionTypeAnnotation", {131  visitor: ["typeParameters", "params", "rest", "returnType"],132  aliases: ["Flow", "FlowType"],133  fields: {134    typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),135    params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")),136    rest: (0, _utils.validateOptionalType)("FunctionTypeParam"),137    this: (0, _utils.validateOptionalType)("FunctionTypeParam"),138    returnType: (0, _utils.validateType)("FlowType")139  }140});141(0, _utils.default)("FunctionTypeParam", {142  visitor: ["name", "typeAnnotation"],143  aliases: ["Flow"],144  fields: {145    name: (0, _utils.validateOptionalType)("Identifier"),146    typeAnnotation: (0, _utils.validateType)("FlowType"),147    optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean"))148  }149});150(0, _utils.default)("GenericTypeAnnotation", {151  visitor: ["id", "typeParameters"],152  aliases: ["Flow", "FlowType"],153  fields: {154    id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]),155    typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation")156  }157});158(0, _utils.default)("InferredPredicate", {159  aliases: ["Flow", "FlowPredicate"]160});161(0, _utils.default)("InterfaceExtends", {162  visitor: ["id", "typeParameters"],163  aliases: ["Flow"],164  fields: {165    id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]),166    typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation")167  }168});169defineInterfaceishType("InterfaceDeclaration");170(0, _utils.default)("InterfaceTypeAnnotation", {171  visitor: ["extends", "body"],172  aliases: ["Flow", "FlowType"],173  fields: {174    extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),175    body: (0, _utils.validateType)("ObjectTypeAnnotation")176  }177});178(0, _utils.default)("IntersectionTypeAnnotation", {179  visitor: ["types"],180  aliases: ["Flow", "FlowType"],181  fields: {182    types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))183  }184});185(0, _utils.default)("MixedTypeAnnotation", {186  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]187});188(0, _utils.default)("EmptyTypeAnnotation", {189  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]190});191(0, _utils.default)("NullableTypeAnnotation", {192  visitor: ["typeAnnotation"],193  aliases: ["Flow", "FlowType"],194  fields: {195    typeAnnotation: (0, _utils.validateType)("FlowType")196  }197});198(0, _utils.default)("NumberLiteralTypeAnnotation", {199  builder: ["value"],200  aliases: ["Flow", "FlowType"],201  fields: {202    value: (0, _utils.validate)((0, _utils.assertValueType)("number"))203  }204});205(0, _utils.default)("NumberTypeAnnotation", {206  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]207});208(0, _utils.default)("ObjectTypeAnnotation", {209  visitor: ["properties", "indexers", "callProperties", "internalSlots"],210  aliases: ["Flow", "FlowType"],211  builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],212  fields: {213    properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])),214    indexers: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeIndexer")),215    callProperties: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeCallProperty")),216    internalSlots: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeInternalSlot")),217    exact: {218      validate: (0, _utils.assertValueType)("boolean"),219      default: false220    },221    inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean"))222  }223});224(0, _utils.default)("ObjectTypeInternalSlot", {225  visitor: ["id", "value", "optional", "static", "method"],226  aliases: ["Flow", "UserWhitespacable"],227  fields: {228    id: (0, _utils.validateType)("Identifier"),229    value: (0, _utils.validateType)("FlowType"),230    optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),231    static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),232    method: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))233  }234});235(0, _utils.default)("ObjectTypeCallProperty", {236  visitor: ["value"],237  aliases: ["Flow", "UserWhitespacable"],238  fields: {239    value: (0, _utils.validateType)("FlowType"),240    static: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))241  }242});243(0, _utils.default)("ObjectTypeIndexer", {244  visitor: ["id", "key", "value", "variance"],245  aliases: ["Flow", "UserWhitespacable"],246  fields: {247    id: (0, _utils.validateOptionalType)("Identifier"),248    key: (0, _utils.validateType)("FlowType"),249    value: (0, _utils.validateType)("FlowType"),250    static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),251    variance: (0, _utils.validateOptionalType)("Variance")252  }253});254(0, _utils.default)("ObjectTypeProperty", {255  visitor: ["key", "value", "variance"],256  aliases: ["Flow", "UserWhitespacable"],257  fields: {258    key: (0, _utils.validateType)(["Identifier", "StringLiteral"]),259    value: (0, _utils.validateType)("FlowType"),260    kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")),261    static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),262    proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),263    optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),264    variance: (0, _utils.validateOptionalType)("Variance"),265    method: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))266  }267});268(0, _utils.default)("ObjectTypeSpreadProperty", {269  visitor: ["argument"],270  aliases: ["Flow", "UserWhitespacable"],271  fields: {272    argument: (0, _utils.validateType)("FlowType")273  }274});275(0, _utils.default)("OpaqueType", {276  visitor: ["id", "typeParameters", "supertype", "impltype"],277  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],278  fields: {279    id: (0, _utils.validateType)("Identifier"),280    typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),281    supertype: (0, _utils.validateOptionalType)("FlowType"),282    impltype: (0, _utils.validateType)("FlowType")283  }284});285(0, _utils.default)("QualifiedTypeIdentifier", {286  visitor: ["id", "qualification"],287  aliases: ["Flow"],288  fields: {289    id: (0, _utils.validateType)("Identifier"),290    qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"])291  }292});293(0, _utils.default)("StringLiteralTypeAnnotation", {294  builder: ["value"],295  aliases: ["Flow", "FlowType"],296  fields: {297    value: (0, _utils.validate)((0, _utils.assertValueType)("string"))298  }299});300(0, _utils.default)("StringTypeAnnotation", {301  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]302});303(0, _utils.default)("SymbolTypeAnnotation", {304  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]305});306(0, _utils.default)("ThisTypeAnnotation", {307  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]308});309(0, _utils.default)("TupleTypeAnnotation", {310  visitor: ["types"],311  aliases: ["Flow", "FlowType"],312  fields: {313    types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))314  }315});316(0, _utils.default)("TypeofTypeAnnotation", {317  visitor: ["argument"],318  aliases: ["Flow", "FlowType"],319  fields: {320    argument: (0, _utils.validateType)("FlowType")321  }322});323(0, _utils.default)("TypeAlias", {324  visitor: ["id", "typeParameters", "right"],325  aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"],326  fields: {327    id: (0, _utils.validateType)("Identifier"),328    typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),329    right: (0, _utils.validateType)("FlowType")330  }331});332(0, _utils.default)("TypeAnnotation", {333  aliases: ["Flow"],334  visitor: ["typeAnnotation"],335  fields: {336    typeAnnotation: (0, _utils.validateType)("FlowType")337  }338});339(0, _utils.default)("TypeCastExpression", {340  visitor: ["expression", "typeAnnotation"],341  aliases: ["Flow", "ExpressionWrapper", "Expression"],342  fields: {343    expression: (0, _utils.validateType)("Expression"),344    typeAnnotation: (0, _utils.validateType)("TypeAnnotation")345  }346});347(0, _utils.default)("TypeParameter", {348  aliases: ["Flow"],349  visitor: ["bound", "default", "variance"],350  fields: {351    name: (0, _utils.validate)((0, _utils.assertValueType)("string")),352    bound: (0, _utils.validateOptionalType)("TypeAnnotation"),353    default: (0, _utils.validateOptionalType)("FlowType"),354    variance: (0, _utils.validateOptionalType)("Variance")355  }356});357(0, _utils.default)("TypeParameterDeclaration", {358  aliases: ["Flow"],359  visitor: ["params"],360  fields: {361    params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter"))362  }363});364(0, _utils.default)("TypeParameterInstantiation", {365  aliases: ["Flow"],366  visitor: ["params"],367  fields: {368    params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))369  }370});371(0, _utils.default)("UnionTypeAnnotation", {372  visitor: ["types"],373  aliases: ["Flow", "FlowType"],374  fields: {375    types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))376  }377});378(0, _utils.default)("Variance", {379  aliases: ["Flow"],380  builder: ["kind"],381  fields: {382    kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus"))383  }384});385(0, _utils.default)("VoidTypeAnnotation", {386  aliases: ["Flow", "FlowType", "FlowBaseAnnotation"]387});388(0, _utils.default)("EnumDeclaration", {389  aliases: ["Statement", "Declaration"],390  visitor: ["id", "body"],391  fields: {392    id: (0, _utils.validateType)("Identifier"),393    body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"])394  }395});396(0, _utils.default)("EnumBooleanBody", {397  aliases: ["EnumBody"],398  visitor: ["members"],399  fields: {400    explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),401    members: (0, _utils.validateArrayOfType)("EnumBooleanMember"),402    hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))403  }404});405(0, _utils.default)("EnumNumberBody", {406  aliases: ["EnumBody"],407  visitor: ["members"],408  fields: {409    explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),410    members: (0, _utils.validateArrayOfType)("EnumNumberMember"),411    hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))412  }413});414(0, _utils.default)("EnumStringBody", {415  aliases: ["EnumBody"],416  visitor: ["members"],417  fields: {418    explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),419    members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]),420    hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))421  }422});423(0, _utils.default)("EnumSymbolBody", {424  aliases: ["EnumBody"],425  visitor: ["members"],426  fields: {427    members: (0, _utils.validateArrayOfType)("EnumDefaultedMember"),428    hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))429  }430});431(0, _utils.default)("EnumBooleanMember", {432  aliases: ["EnumMember"],433  visitor: ["id"],434  fields: {435    id: (0, _utils.validateType)("Identifier"),436    init: (0, _utils.validateType)("BooleanLiteral")437  }438});439(0, _utils.default)("EnumNumberMember", {440  aliases: ["EnumMember"],441  visitor: ["id", "init"],442  fields: {443    id: (0, _utils.validateType)("Identifier"),444    init: (0, _utils.validateType)("NumericLiteral")445  }446});447(0, _utils.default)("EnumStringMember", {448  aliases: ["EnumMember"],449  visitor: ["id", "init"],450  fields: {451    id: (0, _utils.validateType)("Identifier"),452    init: (0, _utils.validateType)("StringLiteral")453  }454});455(0, _utils.default)("EnumDefaultedMember", {456  aliases: ["EnumMember"],457  visitor: ["id"],458  fields: {459    id: (0, _utils.validateType)("Identifier")460  }461});462(0, _utils.default)("IndexedAccessType", {463  visitor: ["objectType", "indexType"],464  aliases: ["Flow", "FlowType"],465  fields: {466    objectType: (0, _utils.validateType)("FlowType"),467    indexType: (0, _utils.validateType)("FlowType")468  }469});470(0, _utils.default)("OptionalIndexedAccessType", {471  visitor: ["objectType", "indexType"],472  aliases: ["Flow", "FlowType"],473  fields: {474    objectType: (0, _utils.validateType)("FlowType"),475    indexType: (0, _utils.validateType)("FlowType"),476    optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))477  }...script.validate.js
Source:script.validate.js  
1// JavaScript Document23/****************************************************************\4Validate Fields V 1.3.15Develped by Alejandro Romero (romero.m.alejandro@gmail.com)67VALIDATION ATRIBUTES:891)	validateEmpty: Checks if the field is empty.10	Declaration: 'validateEmpty="Please, complete this field"'11	Data: Text12132)	validateMinLength: Checks if the field have a minimum quantity of characters.14	Declaration: 'validateMinLenght="5///Please, enter at least 5 characters"'15	Data: MinVal///Text16173)	validateMaxLength: Checks if the field reaches a maximum quantity of characters.18	Declaration: 'validateMaxLenght="25///Please, enter less than 25 characters"'19	Data: MaxVal///Text20214)	validateEmail: Checks if the field contains a valid email.22	Declaration: 'validateEmail:"Please, enter a valid email"'23	Data: Text24255) 	validateOnlyNumbers: Checks if the field contains only numbers.26	Declaration: 'validateOnlyNumbers="Please, enter only numbers"'27	Data: Text28296) validateEqualToField: Checks if the field value is equal to the value of the field specificated in the argument.30	Declaration: 'validateEqualToField="fieldID///Both fields must match"'31	Data: TargetField///Text32337)	validateFromFile: Matchs the field value with a file.34	Declaration: 'validateFromFile="process.php///User already exists///otherfieldid///variable:=value"'35	Data: File///Text///(FieldID)///...///(Key:=Value)///...36378)	mustBeChecked: Checks if a number of checkboxes are checked.38	Declaration: 'mustBeChecked="1///At least 1 of the checkboxes must be checked"'39	Declaration: 'mustBeChecked="3///Only 3 of the checkboxes can be checked///limited"'40	Declaration: 'mustBeChecked="2///Only 2 of the checkboxes can be checked///strict"'41	Data: Value///Text///(Mode)42	439)	validateMaxValue: Checks if the field reaches a maximum numeric value.44	Declaration: 'validateMaxValue="25.07///Please, enter a number lower than 25.07"'45	Data: MaxVal///Text464710) validateMinValue: Checks if the field have a minimum value.48	Declaration: 'validateMinValue="25.07///Please, enter a number higher than 25.07"'49	Data: MaxVal///Text5051\****************************************************************/5253	var validateShowEffect;54	var validateHideEffect;55	var validateErrorClass;56	var validateTag;57	var validateValid;58	var validateElements;59	var validateErrorElements = "";60	var validateDelimiter	= '///';61	var validateCheckboxGroups		= new Array();6263	function ValidateFields() {64		validateErrorClass 	= "ErrorText Red";65		validateElements	= "input[type!='hidden'],select,textarea";66		validateTag			= "div";67		validateValid;68	}6970	ValidateFields.prototype.setErrorClass	= function(ErrorClass)71	{72		validateErrorClass	= ErrorClass;73	}7475	ValidateFields.prototype.setShowEffect	= function(ShowEffect)76	{77		validateShowEffect	= ShowEffect;78	}7980	ValidateFields.prototype.setHideEffect	= function(HideEffect)81	{82		validateHideEffect	= HideEffect;83	}8485	ValidateFields.prototype.setTag	= function(Tag)86	{87		validateTag	= Tag;88	}8990	ValidateFields.prototype.setElements	= function(Elements)91	{92		validateElements	= Elements;93	}9495	ValidateFields.prototype.setDelimiter	= function(Delimiter)96	{97		validateDelimiter	= Delimiter;98	}99100	ValidateFields.prototype.createErrorDivs = function()101	{102		$(validateTag+'[id$="ErrorDiv"]').remove();103		104		$(validateElements).each( function(){105			$(this).parent().append('<'+validateTag+' id="'+$(this).attr("id")+'ErrorDiv" class="'+validateErrorClass+'"></'+validateTag+'>');106		});107	};108109	ValidateFields.prototype.empty	= function(object)110	{111		var isempty	= false;112113		if($(object).attr("validateEmpty"))114		{115			isempty	= ValidateFields.prototype.isEmpty($(object).val()) || !ValidateFields.prototype.isDifferent($(object).val(),$(object).attr("default")) ;116		}117118		return isempty;119	}120121	ValidateFields.prototype.isEmpty	= function(value)122	{123		if(!value)124			return true125		else126			return false127	}128129	ValidateFields.prototype.isDifferent	= function(value,def)130	{131		if(value!=def)132			return true133		else134			return false135	}136	137	ValidateFields.prototype.minValue	= function(object)138	{139		var	minVal;140141		minval	= false;142		if($(object).attr("validateMinValue") && $(object).val()!="")143		{144			minVal	= $(object).attr("validateMinValue").substring(0, $(object).attr("validateMinValue").indexOf(validateDelimiter));145			minval	= ValidateFields.prototype.isMinValue(parseFloat($(object).val()),minVal);146		}147		return minval;148	}149150	ValidateFields.prototype.isMinValue	= function(value,minVal)151	{152		if(value<minVal)153			return true154		else155			return false156	}157158	ValidateFields.prototype.minLength	= function(object)159	{160		var	minVal;161162		minlength	= false;163		if($(object).attr("validateMinLength") && $(object).val()!="")164		{165			minVal		= $(object).attr("validateMinLength").substring(0, $(object).attr("validateMinLength").indexOf(validateDelimiter));166			minlength	= ValidateFields.prototype.isMinLength($(object).val().length,minVal);167		}168		return minlength;169	}170171	ValidateFields.prototype.isMinLength	= function(value,minVal)172	{173		if(value<minVal)174			return true175		else176			return false177	}178	179	ValidateFields.prototype.maxValue	= function(object)180	{181		var	maxVal;182183		maxval	= false;184		if($(object).attr("validateMaxValue") && $(object).val()!="")185		{186			maxVal		= $(object).attr("validateMaxValue").substring(0, $(object).attr("validateMaxValue").indexOf(validateDelimiter));187			maxval	= ValidateFields.prototype.isMaxValue(parseFloat($(object).val()),maxVal);188		}189		return maxval;190	}191192	ValidateFields.prototype.isMaxValue	= function(value,maxVal)193	{194		if(value>maxVal)195			return true196		else197			return false198	}199200	ValidateFields.prototype.maxLength	= function(object)201	{202		var	maxVal;203204		maxlength	= false;205		if($(object).attr("validateMaxLength") && $(object).val()!="")206		{207			maxVal		= $(object).attr("validateMaxLength").substring(0, $(object).attr("validateMaxLength").indexOf(validateDelimiter));208			maxlength	= ValidateFields.prototype.isMaxLength($(object).val().length,maxVal);209		}210		return maxlength;211	}212213	ValidateFields.prototype.isMaxLength	= function(value,maxVal)214	{215		if(value>maxVal)216			return true217		else218			return false219	}220221	ValidateFields.prototype.equalToField	= function(object)222	{223		var	field;224		var equal;225226		equal	= false;227		if($(object).attr("validateEqualToField"))228		{229			field		= $(object).attr("validateEqualToField").substring(0, $(object).attr("validateEqualToField").indexOf(validateDelimiter));230			equal		= $(object).val()!=$("#"+field).val();231		}232233		return equal;234	}235236	ValidateFields.prototype.email	= function(object)237	{238		var isemail	= false;239240		if($(object).attr("validateEmail") && $(object).val()!="")241		{242			isemail	= ValidateFields.prototype.isEmail($(object).val());243		}244245		return isemail;246247	}248249	ValidateFields.prototype.isEmail	= function(value)250	{251		if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value))252			return false253		else254			return true255	}256257	ValidateFields.prototype.onlyNumbers	= function(object)258	{259		var isonlynumbers	= false;260261		if($(object).attr("validateOnlyNumbers"))262		{263			isonlynumbers	= !ValidateFields.prototype.isOnlyNumbers($(object).val());264		}265		return isonlynumbers;266	}267268	ValidateFields.prototype.isOnlyNumbers	= function(value)269	{270		if(value.length > 0)271		  return !isNaN(parseFloat(value)) && isFinite(value);272		else273			return true;274	}275276	ValidateFields.prototype.isNotFilled	= function(object)277	{278		if($("#"+$(object).attr("id")+"ErrorDiv").html()=="")279			return true280		else281			return false282283	}284285	ValidateFields.prototype.fromFile = function(object)286	{287		var fromfile	= false;288289		if($(object).attr("validateFromFile"))290		{291			fromfile	= ValidateFields.prototype.validateFromFile(object);292		}293		return fromfile;294	}295296	ValidateFields.prototype.validateFromFile = function(object)297	{298299		var validatefromfile	= false;300		var properties	= $(object).attr("validateFromFile").split(validateDelimiter);301		var value		= $(object).val();302		var id			= $(object).attr("id");303		var file		= properties[0];304		var text		= properties[1];305		var string		= id+'='+value;306		var field;307308		for(var i=2;i<properties.length;i++)309		{310			field = properties[i].split(":=");311			if(field[1])312				string	= string + "&" + field[0] + "=" + field[1];313			else314				string	= string + "&" + properties[i] + "=" + $("#"+properties[i]).val();315		}316317		$.ajax({318				type: "POST",319				url: file,320				data: string,321				cache: true,322				async: false,323				success: function(data){324					if(!data)325						validatefromfile = false;326					else327						validatefromfile = true;328				}329		});330331		return validatefromfile;332333334	}335336337	ValidateFields.prototype.mustBeChecked	= function(object)338	{339		var name 		= $(object).attr("name");340		var disabled	= $(object).attr("disabled");341		var display		= isVisible(object);342		var validateCheckboxGroups		= new Array();343344		if($(object).attr("mustBeChecked") && disabled!="disabled" && display && !inArray(name,validateCheckboxGroups))345		{346			validateCheckboxGroups.push(name);347			//$('input[type="checkbox"][name="'+name+'"]').each(function(){if(this!=object)$(this).attr('mustBeChecked','')});348			var properties	= $(object).attr("mustBeChecked").split(validateDelimiter);349			var checks 		= properties[0];350			var mode 		= properties[2];351			var checked 	= $('input[type="checkbox"][name="'+name+'"]:checked:not(disabled)').length;352			if(mode) mode 	= mode.toLowerCase();353			switch(mode)354			{355				case 'strict':356					return checked!=checks;357				break;358359				case 'limited':360					return checked>checks;361				break;362363				default:364					return checked<checks;365				break;366			}367		}else{368			return false;369		}370	}371	372	ValidateFields.prototype.getLastValidation = function()373	{374		return validateErrorElements;375	}376377378	ValidateFields.prototype.validateFields	= function(Form)379	{380		validateValid		= true;381		validateCheckboxGroups		= new Array();382		var validateObject;383384		if(!Form || Form=='*')385		{386			validateObject	= $(validateElements);387		}else{388			var elements = validateElements.split(',');389			validateObject	= $('#'+Form+' '+elements.join(',#'+Form+' '));390			//alert('#'+Form+' '+elements.join(',#'+Form+' '));391			//validateObject	= $('#'+Form+' '+validateElements);392		}393			394		//console.log($('#'+Form+' '+validateElements));395		//validateObject	= $('#'+Form).find(validateElements);396		if(!validateObject.attr('id')) validateValid	= false;397398399400		validateObject.each(function(){401				if($(this).val()==$(this).attr("default") || !$(this).val()) $(this).val('');402				if(ValidateFields.prototype.validateField(this) && validateValid )403					validateValid	= true;404				else405					validateValid	= false;406			});407408		return validateValid;409	}410411	ValidateFields.prototype.validateOneField	= function(object)412	{413		validateCheckboxGroups		= new Array();414		ValidateFields.prototype.validateField(object);415416	}417418	ValidateFields.prototype.validateField	= function(object)419	{420			var valid			= true421			if(!ValidateFields.prototype.isClearDiv(object)) ValidateFields.prototype.hideDiv(object);422423			if(ValidateFields.prototype.empty(object))424			{425				valid	= false;426				$("#"+$(object).attr("id")+"ErrorDiv").html($(object).attr("validateEmpty"));427428			}429			430			if(valid && ValidateFields.prototype.minValue(object))431			{432				valid	= false;433				var text	= $(object).attr("validateMinValue").substring($(object).attr("validateMinValue").indexOf(validateDelimiter)+validateDelimiter.length);434				$("#"+$(object).attr("id")+"ErrorDiv").html(text);435			}436437			if(valid && ValidateFields.prototype.minLength(object))438			{439				valid	= false;440				var text	= $(object).attr("validateMinLength").substring($(object).attr("validateMinLength").indexOf(validateDelimiter)+validateDelimiter.length);441				$("#"+$(object).attr("id")+"ErrorDiv").html(text);442			}443			444			if(valid && ValidateFields.prototype.maxValue(object))445			{446				valid	= false;447				var text	= $(object).attr("validateMaxValue").substring($(object).attr("validateMaxValue").indexOf(validateDelimiter)+validateDelimiter.length);448				$("#"+$(object).attr("id")+"ErrorDiv").html(text);449			}450451			if(valid && ValidateFields.prototype.maxLength(object))452			{453				valid	= false;454				var text	= $(object).attr("validateMaxLength").substring($(object).attr("validateMaxLength").indexOf(validateDelimiter)+validateDelimiter.length);455				$("#"+$(object).attr("id")+"ErrorDiv").html(text);456			}457458			if(valid && ValidateFields.prototype.email(object))459			{460				valid	= false;461				$("#"+$(object).attr("id")+"ErrorDiv").html($(object).attr("validateEmail"));462			}463464			if(valid && ValidateFields.prototype.onlyNumbers(object))465			{466				valid	= false;467				$("#"+$(object).attr("id")+"ErrorDiv").html($(object).attr("validateOnlyNumbers"));468			}469470			if(valid && ValidateFields.prototype.equalToField(object))471			{472				valid	= false;473				var text	= $(object).attr("validateEqualToField").substring($(object).attr("validateEqualToField").indexOf(validateDelimiter)+validateDelimiter.length);474				$("#"+$(object).attr("id")+"ErrorDiv").html(text);475			}476477			if(valid && ValidateFields.prototype.mustBeChecked(object))478			{479				valid			= false;480				var text		= $(object).attr("mustBeChecked").substring($(object).attr("mustBeChecked").indexOf(validateDelimiter)+validateDelimiter.length);481				//var errormsg	= new Message();482				notifyError(text,1500);483				//$("#"+$(object).attr("id")+"ErrorDiv").html(text);484			}485486			if(valid && ValidateFields.prototype.fromFile(object))487			{488				valid		= false;489				var text	= $(object).attr("validateFromFile").substring($(object).attr("validateFromFile").indexOf(validateDelimiter)+validateDelimiter.length);490				text		= text.substring(0,text.indexOf(validateDelimiter))491				$("#"+$(object).attr("id")+"ErrorDiv").html(text);492			}493494			if(!valid) ValidateFields.prototype.showDiv(object);495496			return valid;497	}498499	ValidateFields.prototype.isClearDiv	= function(object)500	{501		if($("#"+$(object).attr("id")+"ErrorDiv").html()=="")502			return true503		else504			return false505506	}507508	ValidateFields.prototype.hideDiv	= function(object)509	{510		if(!validateValid){511			switch(validateHideEffect)512			{513				case "fade":514					$("#"+$(object).attr("id")+"ErrorDiv").fadeOut(1000);515				break;516				case "slide":517					$("#"+$(object).attr("id")+"ErrorDiv").slideUp();518				break;519				case "hide":520					$("#"+$(object).attr("id")+"ErrorDiv").hide();521				break;522				default:523					$("#"+$(object).attr("id")+"ErrorDiv").hide();524				break;525			}526		}else{527			$("#"+$(object).attr("id")+"ErrorDiv").hide();528		}529	}530531	ValidateFields.prototype.showDiv	= function(object)532	{533		validateErrorElements = validateErrorElements + $(object).attr("id") + " ";534		if(!validateValid){535			switch(validateShowEffect)536			{537				case "fade":538					$("#"+$(object).attr("id")+"ErrorDiv").fadeIn(5000);539				break;540				case "slide":541					$("#"+$(object).attr("id")+"ErrorDiv").slideDown();542				break;543				case "hide":544					$("#"+$(object).attr("id")+"ErrorDiv").show();545				break;546				default:547					$("#"+$(object).attr("id")+"ErrorDiv").show();548				break;549			}550		}else{551			$("#"+$(object).attr("id")+"ErrorDiv").show();552		}553	}554555	// Auxiliar Function: Pause556	ValidateFields.prototype.pauseProc = function(millis)557	{558		var date = new Date();559		var curDate = null;560561		do { curDate = new Date(); }562		while(curDate-date < millis);
...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
