Skip to content

Commit

Permalink
Use default with not found regex
Browse files Browse the repository at this point in the history
  • Loading branch information
MiguelAngelLV authored and koral-- committed Dec 4, 2022
1 parent 72958bc commit 2480c42
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
5 changes: 4 additions & 1 deletion jspoon/src/main/java/pl/droidsonroids/jspoon/HtmlField.java
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,10 @@ private <U> String getValue(Element node, Class<U> fieldType) {
if (value == null || value.isEmpty()) {
value = spec.getDefaultValue();
}
} else {
value = spec.getDefaultValue();
}

}
return value;
}
Expand Down Expand Up @@ -191,4 +194,4 @@ private Float getFloat(String value) {
throw new FloatParseException(value, spec.getLocale());
}
}
}
}
15 changes: 14 additions & 1 deletion jspoon/src/test/java/pl/droidsonroids/jspoon/RegexTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,26 @@ public void setUp() {
}

private static class RegexModel {
@Selector(value = "div", format = "([a-z]+),") String number;
@Selector(value = "div", regex = "([a-z]+),") String number;
}

private static class RegexModelDefault {
@Selector(value = "div", regex = "(\\d+)", defValue = "1") int number;
}


@Test
public void regexTest() {
HtmlAdapter<RegexModel> htmlAdapter = jspoon.adapter(RegexModel.class);
RegexModel regexModel = htmlAdapter.fromHtml(HTML_CONTENT);
assertEquals(regexModel.number, "three");
}


@Test
public void regexDefaultTest() {
HtmlAdapter<RegexModelDefault> htmlAdapter = jspoon.adapter(RegexModelDefault.class);
RegexModelDefault regexModelDefault = htmlAdapter.fromHtml(HTML_CONTENT);
assertEquals(regexModelDefault.number, 1);
}
}

0 comments on commit 2480c42

Please sign in to comment.