|
1 | 1 | import assert from 'assert'; |
2 | 2 | import fs from 'fs'; |
3 | 3 | import timezone_mock from 'timezone-mock'; |
4 | | -import { format } from 'util'; |
5 | 4 | import vm from 'vm'; |
6 | | -import validator from '../src/index'; |
7 | 5 | import test from './testFunctions'; |
8 | 6 |
|
9 | 7 | let validator_js = fs.readFileSync(require.resolve('../validator.js')).toString(); |
@@ -1047,136 +1045,6 @@ describe('Validators', () => { |
1047 | 1045 | }); |
1048 | 1046 | }); |
1049 | 1047 |
|
1050 | | - it('should validate IP addresses', () => { |
1051 | | - test({ |
1052 | | - validator: 'isIP', |
1053 | | - valid: [ |
1054 | | - '127.0.0.1', |
1055 | | - '0.0.0.0', |
1056 | | - '255.255.255.255', |
1057 | | - '1.2.3.4', |
1058 | | - '::1', |
1059 | | - '2001:db8:0000:1:1:1:1:1', |
1060 | | - '2001:db8:3:4::192.0.2.33', |
1061 | | - '2001:41d0:2:a141::1', |
1062 | | - '::ffff:127.0.0.1', |
1063 | | - '::0000', |
1064 | | - '0000::', |
1065 | | - '1::', |
1066 | | - '1111:1:1:1:1:1:1:1', |
1067 | | - 'fe80::a6db:30ff:fe98:e946', |
1068 | | - '::', |
1069 | | - '::8', |
1070 | | - '::ffff:127.0.0.1', |
1071 | | - '::ffff:255.255.255.255', |
1072 | | - '::ffff:0:255.255.255.255', |
1073 | | - '::2:3:4:5:6:7:8', |
1074 | | - '::255.255.255.255', |
1075 | | - '0:0:0:0:0:ffff:127.0.0.1', |
1076 | | - '1:2:3:4:5:6:7::', |
1077 | | - '1:2:3:4:5:6::8', |
1078 | | - '1::7:8', |
1079 | | - '1:2:3:4:5::7:8', |
1080 | | - '1:2:3:4:5::8', |
1081 | | - '1::6:7:8', |
1082 | | - '1:2:3:4::6:7:8', |
1083 | | - '1:2:3:4::8', |
1084 | | - '1::5:6:7:8', |
1085 | | - '1:2:3::5:6:7:8', |
1086 | | - '1:2:3::8', |
1087 | | - '1::4:5:6:7:8', |
1088 | | - '1:2::4:5:6:7:8', |
1089 | | - '1:2::8', |
1090 | | - '1::3:4:5:6:7:8', |
1091 | | - '1::8', |
1092 | | - 'fe80::7:8%eth0', |
1093 | | - 'fe80::7:8%1', |
1094 | | - '64:ff9b::192.0.2.33', |
1095 | | - '0:0:0:0:0:0:10.0.0.1', |
1096 | | - ], |
1097 | | - invalid: [ |
1098 | | - 'abc', |
1099 | | - '256.0.0.0', |
1100 | | - '0.0.0.256', |
1101 | | - '26.0.0.256', |
1102 | | - '0200.200.200.200', |
1103 | | - '200.0200.200.200', |
1104 | | - '200.200.0200.200', |
1105 | | - '200.200.200.0200', |
1106 | | - '::banana', |
1107 | | - 'banana::', |
1108 | | - '::1banana', |
1109 | | - '::1::', |
1110 | | - '1:', |
1111 | | - ':1', |
1112 | | - ':1:1:1::2', |
1113 | | - '1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1', |
1114 | | - '::11111', |
1115 | | - '11111:1:1:1:1:1:1:1', |
1116 | | - '2001:db8:0000:1:1:1:1::1', |
1117 | | - '0:0:0:0:0:0:ffff:127.0.0.1', |
1118 | | - '0:0:0:0:ffff:127.0.0.1', |
1119 | | - ], |
1120 | | - }); |
1121 | | - test({ |
1122 | | - validator: 'isIP', |
1123 | | - args: [4], |
1124 | | - valid: [ |
1125 | | - '127.0.0.1', |
1126 | | - '0.0.0.0', |
1127 | | - '255.255.255.255', |
1128 | | - '1.2.3.4', |
1129 | | - '255.0.0.1', |
1130 | | - '0.0.1.1', |
1131 | | - ], |
1132 | | - invalid: [ |
1133 | | - '::1', |
1134 | | - '2001:db8:0000:1:1:1:1:1', |
1135 | | - '::ffff:127.0.0.1', |
1136 | | - '137.132.10.01', |
1137 | | - '0.256.0.256', |
1138 | | - '255.256.255.256', |
1139 | | - ], |
1140 | | - }); |
1141 | | - test({ |
1142 | | - validator: 'isIP', |
1143 | | - args: [6], |
1144 | | - valid: [ |
1145 | | - '::1', |
1146 | | - '2001:db8:0000:1:1:1:1:1', |
1147 | | - '::ffff:127.0.0.1', |
1148 | | - 'fe80::1234%1', |
1149 | | - 'ff08::9abc%10', |
1150 | | - 'ff08::9abc%interface10', |
1151 | | - 'ff02::5678%pvc1.3', |
1152 | | - ], |
1153 | | - invalid: [ |
1154 | | - '127.0.0.1', |
1155 | | - '0.0.0.0', |
1156 | | - '255.255.255.255', |
1157 | | - '1.2.3.4', |
1158 | | - '::ffff:287.0.0.1', |
1159 | | - '%', |
1160 | | - 'fe80::1234%', |
1161 | | - 'fe80::1234%1%3%4', |
1162 | | - 'fe80%fe80%', |
1163 | | - ], |
1164 | | - }); |
1165 | | - test({ |
1166 | | - validator: 'isIP', |
1167 | | - args: [10], |
1168 | | - valid: [], |
1169 | | - invalid: [ |
1170 | | - '127.0.0.1', |
1171 | | - '0.0.0.0', |
1172 | | - '255.255.255.255', |
1173 | | - '1.2.3.4', |
1174 | | - '::1', |
1175 | | - '2001:db8:0000:1:1:1:1:1', |
1176 | | - ], |
1177 | | - }); |
1178 | | - }); |
1179 | | - |
1180 | 1048 | it('should validate isIPRange', () => { |
1181 | 1049 | test({ |
1182 | 1050 | validator: 'isIPRange', |
@@ -1371,6 +1239,7 @@ describe('Validators', () => { |
1371 | 1239 | ], |
1372 | 1240 | }); |
1373 | 1241 | }); |
| 1242 | + |
1374 | 1243 | it('should validate alpha strings', () => { |
1375 | 1244 | test({ |
1376 | 1245 | validator: 'isAlpha', |
@@ -3085,9 +2954,17 @@ describe('Validators', () => { |
3085 | 2954 | valid: [ |
3086 | 2955 | 'GA302922', |
3087 | 2956 | 'ZE000509', |
| 2957 | + 'A123456AB', |
| 2958 | + 'Z556378HG', |
3088 | 2959 | ], |
3089 | 2960 | invalid: [ |
3090 | 2961 | 'AB0123456', |
| 2962 | + 'AZ556378H', |
| 2963 | + '556378HCX', |
| 2964 | + '556378432', |
| 2965 | + '5563784', |
| 2966 | + '#B12345FD', |
| 2967 | + 'A43F12354', |
3091 | 2968 | ], |
3092 | 2969 | }); |
3093 | 2970 |
|
@@ -7111,76 +6988,6 @@ describe('Validators', () => { |
7111 | 6988 | }); |
7112 | 6989 | }); |
7113 | 6990 |
|
7114 | | - it('should validate base64 strings', () => { |
7115 | | - test({ |
7116 | | - validator: 'isBase64', |
7117 | | - valid: [ |
7118 | | - '', |
7119 | | - 'Zg==', |
7120 | | - 'Zm8=', |
7121 | | - 'Zm9v', |
7122 | | - 'Zm9vYg==', |
7123 | | - 'Zm9vYmE=', |
7124 | | - 'Zm9vYmFy', |
7125 | | - 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4=', |
7126 | | - 'Vml2YW11cyBmZXJtZW50dW0gc2VtcGVyIHBvcnRhLg==', |
7127 | | - 'U3VzcGVuZGlzc2UgbGVjdHVzIGxlbw==', |
7128 | | - 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuMPNS1Ufof9EW/M98FNw' + |
7129 | | - 'UAKrwflsqVxaxQjBQnHQmiI7Vac40t8x7pIb8gLGV6wL7sBTJiPovJ0V7y7oc0Ye' + |
7130 | | - 'rhKh0Rm4skP2z/jHwwZICgGzBvA0rH8xlhUiTvcwDCJ0kc+fh35hNt8srZQM4619' + |
7131 | | - 'FTgB66Xmp4EtVyhpQV+t02g6NzK72oZI0vnAvqhpkxLeLiMCyrI416wHm5Tkukhx' + |
7132 | | - 'QmcL2a6hNOyu0ixX/x2kSFXApEnVrJ+/IxGyfyw8kf4N2IZpW5nEP847lpfj0SZZ' + |
7133 | | - 'Fwrd1mnfnDbYohX2zRptLy2ZUn06Qo9pkG5ntvFEPo9bfZeULtjYzIl6K8gJ2uGZ' + |
7134 | | - 'HQIDAQAB', |
7135 | | - ], |
7136 | | - invalid: [ |
7137 | | - '12345', |
7138 | | - 'Vml2YW11cyBmZXJtZtesting123', |
7139 | | - 'Zg=', |
7140 | | - 'Z===', |
7141 | | - 'Zm=8', |
7142 | | - '=m9vYg==', |
7143 | | - 'Zm9vYmFy====', |
7144 | | - ], |
7145 | | - }); |
7146 | | - |
7147 | | - test({ |
7148 | | - validator: 'isBase64', |
7149 | | - args: [{ urlSafe: true }], |
7150 | | - valid: [ |
7151 | | - '', |
7152 | | - 'bGFkaWVzIGFuZCBnZW50bGVtZW4sIHdlIGFyZSBmbG9hdGluZyBpbiBzcGFjZQ', |
7153 | | - '1234', |
7154 | | - 'bXVtLW5ldmVyLXByb3Vk', |
7155 | | - 'PDw_Pz8-Pg', |
7156 | | - 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw', |
7157 | | - ], |
7158 | | - invalid: [ |
7159 | | - ' AA', |
7160 | | - '\tAA', |
7161 | | - '\rAA', |
7162 | | - '\nAA', |
7163 | | - 'This+isa/bad+base64Url==', |
7164 | | - '0K3RgtC+INC30LDQutC+0LTQuNGA0L7QstCw0L3QvdCw0Y8g0YHRgtGA0L7QutCw', |
7165 | | - ], |
7166 | | - error: [ |
7167 | | - null, |
7168 | | - undefined, |
7169 | | - {}, |
7170 | | - [], |
7171 | | - 42, |
7172 | | - ], |
7173 | | - }); |
7174 | | - |
7175 | | - for (let i = 0, str = '', encoded; i < 1000; i++) { |
7176 | | - str += String.fromCharCode(Math.random() * 26 | 97); // eslint-disable-line no-bitwise |
7177 | | - encoded = Buffer.from(str).toString('base64'); |
7178 | | - if (!validator.isBase64(encoded)) { |
7179 | | - let msg = format('validator.isBase64() failed with "%s"', encoded); |
7180 | | - throw new Error(msg); |
7181 | | - } |
7182 | | - } |
7183 | | - }); |
7184 | 6991 |
|
7185 | 6992 | it('should validate hex-encoded MongoDB ObjectId', () => { |
7186 | 6993 | test({ |
@@ -13826,37 +13633,6 @@ describe('Validators', () => { |
13826 | 13633 | }); |
13827 | 13634 | }); |
13828 | 13635 |
|
13829 | | - it('should validate base64URL', () => { |
13830 | | - test({ |
13831 | | - validator: 'isBase64', |
13832 | | - args: [{ urlSafe: true }], |
13833 | | - valid: [ |
13834 | | - '', |
13835 | | - 'bGFkaWVzIGFuZCBnZW50bGVtZW4sIHdlIGFyZSBmbG9hdGluZyBpbiBzcGFjZQ', |
13836 | | - '1234', |
13837 | | - 'bXVtLW5ldmVyLXByb3Vk', |
13838 | | - 'PDw_Pz8-Pg', |
13839 | | - 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw', |
13840 | | - ], |
13841 | | - invalid: [ |
13842 | | - ' AA', |
13843 | | - '\tAA', |
13844 | | - '\rAA', |
13845 | | - '\nAA', |
13846 | | - '123=', |
13847 | | - 'This+isa/bad+base64Url==', |
13848 | | - '0K3RgtC+INC30LDQutC+0LTQuNGA0L7QstCw0L3QvdCw0Y8g0YHRgtGA0L7QutCw', |
13849 | | - ], |
13850 | | - error: [ |
13851 | | - null, |
13852 | | - undefined, |
13853 | | - {}, |
13854 | | - [], |
13855 | | - 42, |
13856 | | - ], |
13857 | | - }); |
13858 | | - }); |
13859 | | - |
13860 | 13636 | it('should validate date', () => { |
13861 | 13637 | test({ |
13862 | 13638 | validator: 'isDate', |
|
0 commit comments