UNPKG

@voxasoftworks/vin

Version:

A package for validating vehicle identification numbers (VINs) written in TypeScript

68 lines 5.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = __importDefault(require("ava")); const validate_1 = require("./validate"); const validVins = [ 'JT3Gn87rxW0075238', '4A3Ac74H93e017565', '2hkrl18621H516782', 'jn8As58V09W104322', '4T4bF3EK3BR285728', '3fAfp13p72r127809', 'sALTw19414a838330', 'WauBfafl7BN062724', 'wP1Aa2a22cLA89116', '1hGCm66503a025097', ]; ava_1.default('a 16 digit VIN', (t) => { t.false(validate_1.validate('2C4RDGCG2DR50865')); }); ava_1.default('an 18 digit VIN', (t) => { t.false(validate_1.validate('2C4RDGCG2DR5086564')); }); ava_1.default('a 17 digit VIN containing I', (t) => { t.false(validate_1.validate('2I4RDGCG2DR508656')); }); ava_1.default('a 17 digit VIN containing O', (t) => { t.false(validate_1.validate('2O4RDGCG2DR508656')); }); ava_1.default('a 17 digit VIN containing Q', (t) => { t.false(validate_1.validate('2Q4RDGCG2DR508656')); }); ava_1.default('a 17 digit VIN containing i', (t) => { t.false(validate_1.validate('2i4rdgcg2dr508656')); }); ava_1.default('a 17 digit VIN containing o', (t) => { t.false(validate_1.validate('2o4rdgcg2dr508656')); }); ava_1.default('a 17 digit VIN containing q', (t) => { t.false(validate_1.validate('2q4rdgcg2dr508656')); }); ava_1.default('a 17 digit VIN with an incorrect check digit', (t) => { t.false(validate_1.validate('2C4RDGCG3DR508656')); }); ava_1.default('a null value', (t) => { t.false(validate_1.validate(null)); }); ava_1.default('an undefined value', (t) => { t.false(validate_1.validate(undefined)); }); ava_1.default('no value', (t) => { t.false(validate_1.validate()); }); ava_1.default('a valid lowercase VIN', (t) => { const valid = validVins.map((vin) => validate_1.validate(vin.toLowerCase())); t.true(valid.every((r) => r === true)); }); ava_1.default('a valid uppercase VIN', (t) => { const valid = validVins.map((vin) => validate_1.validate(vin.toUpperCase())); t.true(valid.every((r) => r === true)); }); ava_1.default('a valid mixed-case VIN', (t) => { const valid = validVins.map((vin) => validate_1.validate(vin)); t.true(valid.every((r) => r === true)); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmFsaWRhdGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUF1QjtBQUV2Qix5Q0FBc0M7QUFFdEMsTUFBTSxTQUFTLEdBQUc7SUFDZCxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7Q0FDdEIsQ0FBQztBQUVGLGFBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3pCLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUM7QUFFSCxhQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUMxQixDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDO0FBRUgsYUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDdEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxtQkFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQztBQUVILGFBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ3RDLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUM7QUFFSCxhQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUN0QyxDQUFDLENBQUMsS0FBSyxDQUFDLG1C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