diff --git a/lib/faker/default/vehicle.rb b/lib/faker/default/vehicle.rb index 97fa3813d9..2c72b6b8f7 100644 --- a/lib/faker/default/vehicle.rb +++ b/lib/faker/default/vehicle.rb @@ -9,7 +9,7 @@ class Vehicle < Base VIN_LETTERS = 'ABCDEFGHJKLMNPRSTUVWXYZ' VIN_MAP = '0123456789X' VIN_WEIGHTS = '8765432X098765432' - VIN_REGEX = /^[A-Z0-9]{3}[A-Z0-9]{5}[A-Z0-9]{1}[A-Z0-9]{1}[A-Z0-0]{1}[A-Z0-9]{1}\d{5}$/.freeze + VIN_REGEX = /^([A-HJ-NPR-Z0-9]){3}[A-HJ-NPR-Z0-9]{5}[A-HJ-NPR-Z0-9]{1}[A-HJ-NPR-Z0-9]{1}[A-HJ-NPR-Z0-0]{1}[A-HJ-NPR-Z0-9]{1}\d{5}$/.freeze SG_CHECKSUM_WEIGHTS = [3, 14, 2, 12, 2, 11, 1].freeze SG_CHECKSUM_CHARS = 'AYUSPLJGDBZXTRMKHEC' diff --git a/test/faker/default/test_faker_vehicle.rb b/test/faker/default/test_faker_vehicle.rb index 2958df6acc..2f27137db9 100644 --- a/test/faker/default/test_faker_vehicle.rb +++ b/test/faker/default/test_faker_vehicle.rb @@ -4,6 +4,7 @@ class TestFakerVehicle < Test::Unit::TestCase WORD_MATCH = /\w+\.?/.freeze + VALIDITY_MATCH = /^([A-HJ-NPR-Z0-9])+/.freeze def setup @tester = Faker::Vehicle @@ -13,6 +14,10 @@ def test_vin assert_match Faker::Vehicle::VIN_REGEX, @tester.vin end + def test_vin_validity + assert_match VALIDITY_MATCH, @tester.vin + end + def test_manufacture assert_match WORD_MATCH, @tester.manufacture end