From dae80f4637ff0283a5d2e0b19ae19d4b3be932be Mon Sep 17 00:00:00 2001 From: Vic <74975015+vicuts@users.noreply.github.com> Date: Sun, 4 Oct 2026 12:22:26 +0300 Subject: [PATCH] fix(ro/cnp): accept county codes 70 and 80-83 to match python-stdnum --- src/ro/cnp.spec.ts | 24 ++++++++++++++++++++++++ src/ro/cnp.ts | 5 +++++ 2 files changed, 29 insertions(+) diff --git a/src/ro/cnp.spec.ts b/src/ro/cnp.spec.ts index 2fe48bf0..f5e9f029 100644 --- a/src/ro/cnp.spec.ts +++ b/src/ro/cnp.spec.ts @@ -47,4 +47,28 @@ describe('ro/cnp', () => { expect(result.error).toBeInstanceOf(InvalidComponent); }); + + it('validate:5240512700014', () => { + const result = validate('5240512700014'); + + expect(result.isValid && result.compact).toEqual('5240512700014'); + }); + + it('validate:5240512700013', () => { + const result = validate('5240512700013'); + + expect(result.error).toBeInstanceOf(InvalidChecksum); + }); + + it('validate:5240512830010', () => { + const result = validate('5240512830010'); + + expect(result.isValid && result.compact).toEqual('5240512830010'); + }); + + it('validate:1630615993454', () => { + const result = validate('1630615993454'); + + expect(result.error).toBeInstanceOf(InvalidComponent); + }); }); diff --git a/src/ro/cnp.ts b/src/ro/cnp.ts index f78428db..23993136 100644 --- a/src/ro/cnp.ts +++ b/src/ro/cnp.ts @@ -83,6 +83,11 @@ const COUNTIES: Record = { '48': 'Bucuresti - Sector 8 (desfiintat)', '51': 'Calarasi', '52': 'Giurgiu', + '70': 'Any', + '80': 'Unknown', + '81': 'Unknown', + '82': 'Unknown', + '83': 'Unknown', }; const VALID_COUNTIES = Object.keys(COUNTIES);