Skip to content

Commit 3a0f7b8

Browse files
Merge pull request #35 from Johannestegner/master
feat: Allow + in enskild firma.
2 parents 7a11bdd + 05bc663 commit 3a0f7b8

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/main/java/dev/organisationsnummer/Organisationsnummer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ public Organisationsnummer(String input) throws OrganisationsnummerException {
8383
* @return Formatted string.
8484
*/
8585
public String format(boolean separator) {
86+
if (separator && this.isPersonnummer) {
87+
return this.innerPersonnummer.format(false);
88+
}
89+
8690
String nr = this.getShortString();
8791

8892
return separator ?
@@ -156,6 +160,7 @@ private void innerParse(String input) throws OrganisationsnummerException {
156160
throw new OrganisationsnummerException("Input value too " + (input.length() > 13 ? "long" : "short"));
157161
}
158162

163+
String originalInput = input;
159164
try {
160165
Matcher matches = regexPattern.matcher(input);
161166
if (!matches.find()) {
@@ -181,7 +186,7 @@ private void innerParse(String input) throws OrganisationsnummerException {
181186

182187
} catch (OrganisationsnummerException e) {
183188
try {
184-
this.innerPersonnummer = Personnummer.parse(input);
189+
this.innerPersonnummer = Personnummer.parse(originalInput);
185190
this.isPersonnummer = true;
186191
} catch (PersonnummerException ex) {
187192
throw new OrganisationsnummerException();

src/test/java/OrganisationsnummerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public void testFormatWithoutSeparator(OrgNrData input) throws Organisationsnumm
4545
@ParameterizedTest
4646
@MethodSource("DataProvider#getValid")
4747
public void testFormatWithSeparator(OrgNrData input) throws OrganisationsnummerException {
48-
assertEquals(input.longFormat, Organisationsnummer.parse(input.shortFormat).format(true));
48+
assertEquals(input.longFormat.replace('+', '-'), Organisationsnummer.parse(input.shortFormat).format(true));
4949
assertEquals(input.longFormat, Organisationsnummer.parse(input.longFormat).format(true));
5050
}
5151

0 commit comments

Comments
 (0)