Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/main/java/com/github/underscore/Json.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@ public JsonStringBuilder append(final String string) {
}

public JsonStringBuilder fillSpaces() {
builder.append(String.valueOf(identStep == Step.TABS ? '\t' : ' ').repeat(Math.max(0, indent)));
builder.append(
String.valueOf(identStep == Step.TABS ? '\t' : ' ')
.repeat(Math.max(0, indent)));
return this;
}

Expand Down
33 changes: 13 additions & 20 deletions src/main/java/com/github/underscore/U.java
Original file line number Diff line number Diff line change
Expand Up @@ -98,16 +98,7 @@ public class U<T> extends Underscore<T> {
private static final String YES = "yes";
private static final java.util.regex.Pattern RE_WORDS =
java.util.regex.Pattern.compile(
UPPER
+ "+(?="
+ UPPER
+ LOWER
+ ")|"
+ UPPER
+ "?"
+ LOWER
+ "|"
+ UPPER
UPPER + "+(?=" + UPPER + LOWER + ")|" + UPPER + "?" + LOWER + "|" + UPPER
+ "+|\\d+");

static {
Expand Down Expand Up @@ -2069,8 +2060,7 @@ public static long downloadUrl(final String url, final String fileName)

public static void decompressGzip(final String sourceFileName, final String targetFileName)
throws IOException {
try (GZIPInputStream gis =
new GZIPInputStream(new FileInputStream(sourceFileName))) {
try (GZIPInputStream gis = new GZIPInputStream(new FileInputStream(sourceFileName))) {
Files.copy(gis, Paths.get(targetFileName));
}
}
Expand Down Expand Up @@ -2524,12 +2514,16 @@ public static <T> String join(final Iterable<T> iterable, final String separator
return Underscore.join(iterable, separator);
}

public static <T> String joinToString(final Iterable<T> iterable, final String separator,
final String prefix, final String postfix,
final int limit,
final String truncated,
final Function<T, String> transform) {
return Underscore.joinToString(iterable, separator, prefix, postfix, limit, truncated, transform);
public static <T> String joinToString(
final Iterable<T> iterable,
final String separator,
final String prefix,
final String postfix,
final int limit,
final String truncated,
final Function<T, String> transform) {
return Underscore.joinToString(
iterable, separator, prefix, postfix, limit, truncated, transform);
}

public static String toJson(Collection collection) {
Expand Down Expand Up @@ -2914,8 +2908,7 @@ public static Map<String, Object> removeMinusesAndConvertNumbers(Map<String, Obj
} else {
newKey = entry.getKey();
}
if (!entry.getKey().equals(SELF_CLOSING)
&& !entry.getKey().equals(OMIT_XML_DECL)) {
if (!entry.getKey().equals(SELF_CLOSING) && !entry.getKey().equals(OMIT_XML_DECL)) {
outMap.put(newKey, makeObject(entry.getValue()));
}
}
Expand Down
20 changes: 11 additions & 9 deletions src/main/java/com/github/underscore/Underscore.java
Original file line number Diff line number Diff line change
Expand Up @@ -2100,9 +2100,7 @@ public static <T> java.util.concurrent.ScheduledFuture<T> delay(
java.util.concurrent.Executors.newSingleThreadScheduledExecutor();
try {
return scheduler.schedule(
function::get,
delayMilliseconds,
java.util.concurrent.TimeUnit.MILLISECONDS);
function::get, delayMilliseconds, java.util.concurrent.TimeUnit.MILLISECONDS);
} finally {
scheduler.shutdown();
}
Expand Down Expand Up @@ -3319,11 +3317,14 @@ public static <T> String join(final Iterable<T> iterable, final String separator
return sb.toString();
}

public static <T> String joinToString(final Iterable<T> iterable, final String separator,
final String prefix, final String postfix,
final int limit,
final String truncated,
final Function<T, String> transform) {
public static <T> String joinToString(
final Iterable<T> iterable,
final String separator,
final String prefix,
final String postfix,
final int limit,
final String truncated,
final Function<T, String> transform) {
final StringBuilder sb = new StringBuilder();
int index = 0;
if (prefix != null) {
Expand All @@ -3344,7 +3345,8 @@ public static <T> String joinToString(final Iterable<T> iterable, final String s
return sb.toString();
}

private static void joinToStringPostfix(String postfix, int limit, String truncated, int index, StringBuilder sb) {
private static void joinToStringPostfix(
String postfix, int limit, String truncated, int index, StringBuilder sb) {
if (limit >= 0 && index > limit) {
sb.append(truncated == null ? "..." : truncated);
}
Expand Down
17 changes: 11 additions & 6 deletions src/main/java/com/github/underscore/Xml.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,14 @@
import java.util.function.BiFunction;
import java.util.function.Function;

@SuppressWarnings({"java:S107", "java:S1119", "java:S2583", "java:S3740", "java:S3776", "java:S4276"})
@SuppressWarnings({
"java:S107",
"java:S1119",
"java:S2583",
"java:S3740",
"java:S3776",
"java:S4276"
})
public final class Xml {
private Xml() {}

Expand Down Expand Up @@ -1887,15 +1894,13 @@ public static Object fromXmlWithoutNamespaces(final String xml) {
(object, namespaces) -> {
final String localString = String.valueOf(object);
final String result;
String substring = localString.substring(
Math.max(0, localString.indexOf(':') + 1));
String substring =
localString.substring(Math.max(0, localString.indexOf(':') + 1));
if (localString.startsWith("-")
&& namespaces.contains(
localString.substring(
1, Math.max(1, localString.indexOf(':'))))) {
result =
"-"
+ substring;
result = "-" + substring;
} else if (namespaces.contains(
localString.substring(0, Math.max(0, localString.indexOf(':'))))) {
result = substring;
Expand Down
3 changes: 2 additions & 1 deletion src/test/java/com/github/underscore/ArraysTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -659,7 +659,8 @@ void lastOrNull() {
void compact() {
final List<?> result = Underscore.compact(asList(0, 1, false, 2, "", 3));
assertEquals("[1, 2, 3]", result.toString());
final List<?> result2 = Underscore.compactList(Arrays.<Object>asList(0, 1, false, 2, "", 3), 1);
final List<?> result2 =
Underscore.compactList(Arrays.<Object>asList(0, 1, false, 2, "", 3), 1);
assertEquals("[0, false, 2, , 3]", result2.toString());
final List<?> result3 = Underscore.compact(asList(0, 1, null, 2, "", 3));
assertEquals("[1, 2, 3]", result3.toString());
Expand Down
17 changes: 5 additions & 12 deletions src/test/java/com/github/underscore/CollectionsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1301,8 +1301,7 @@ void sortWith() {
Underscore.sortWith(
asList(1, 2, 3, 4, 5, 6),
(item1, item2) ->
(int) (Math.sin(item1) * 1000)
- (int) (Math.sin(item2) * 1000));
(int) (Math.sin(item1) * 1000) - (int) (Math.sin(item2) * 1000));
assertEquals("[5, 4, 6, 3, 1, 2]", result.toString());
final List<Integer> resultObj =
new Underscore(asList(1, 2, 3, 4, 5, 6))
Expand All @@ -1318,8 +1317,7 @@ void sortWith() {
(Comparator<Integer>)
(item1, item2) ->
(int) (Math.sin(item1) * 1000)
- (int) (Math.sin(item2) * 1000)
)
- (int) (Math.sin(item2) * 1000))
.value();
assertEquals("[5, 4, 6, 3, 1, 2]", resultChain.toString());
}
Expand All @@ -1332,15 +1330,11 @@ void sortWith() {
@SuppressWarnings("unchecked")
void sortBy() {
final List<Integer> result =
Underscore.sortBy(
asList(1, 2, 3, 4, 5, 6),
item -> (int) (Math.sin(item) * 1000));
Underscore.sortBy(asList(1, 2, 3, 4, 5, 6), item -> (int) (Math.sin(item) * 1000));
assertEquals("[5, 4, 6, 3, 1, 2]", result.toString());
final List<Integer> resultObj =
new Underscore(asList(1, 2, 3, 4, 5, 6))
.sortBy(
(Function<Integer, Integer>)
item -> (int) (Math.sin(item) * 1000));
.sortBy((Function<Integer, Integer>) item -> (int) (Math.sin(item) * 1000));
assertEquals("[5, 4, 6, 3, 1, 2]", resultObj.toString());
final List<Integer> resultChain =
Underscore.chain(asList(1, 2, 3, 4, 5, 6))
Expand Down Expand Up @@ -1719,8 +1713,7 @@ public Integer next() {
}

@Override
public void remove() {
}
public void remove() {}
};
assertEquals(6, Underscore.size(iterable));
assertEquals(5, Underscore.size(new Integer[] {5, 4, 3, 2, 1}));
Expand Down
100 changes: 51 additions & 49 deletions src/test/java/com/github/underscore/LodashTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -411,9 +411,9 @@ void set() {
assertEquals(
"d",
U.<String>set(
(Map<String, Object>) U.fromJson("{\"a\":[{\"b\":{\"c\":\"d\"}}]}"),
"a[0].b.c",
"e"));
(Map<String, Object>) U.fromJson("{\"a\":[{\"b\":{\"c\":\"d\"}}]}"),
"a[0].b.c",
"e"));
assertEquals(
"{b={c=d}}",
U.set(
Expand Down Expand Up @@ -615,24 +615,25 @@ void fetchGet() {
"https://support.oneskyapp.com/hc/en-us/article_attachments/202761627/example_1.json");
result.json();
result.jsonMap();
assertEquals("{\n"
+ " \"fruit\": \"Apple\",\n"
+ " \"size\": \"Large\",\n"
+ " \"color\": \"Red\"\n"
+ "}",
result.text());
assertEquals("Apple",
U.get((Map<String, Object>) result.json(), "fruit"));
assertEquals(
"{\n"
+ " \"fruit\": \"Apple\",\n"
+ " \"size\": \"Large\",\n"
+ " \"color\": \"Red\"\n"
+ "}",
result.text());
assertEquals("Apple", U.get((Map<String, Object>) result.json(), "fruit"));
U.Chain<?> resultChain =
U.chain(
"https://support.oneskyapp.com/hc/en-us/article_attachments/202761627/example_1.json")
.fetch();
assertEquals("{\n"
+ " \"fruit\": \"Apple\",\n"
+ " \"size\": \"Large\",\n"
+ " \"color\": \"Red\"\n"
+ "}",
resultChain.item());
assertEquals(
"{\n"
+ " \"fruit\": \"Apple\",\n"
+ " \"size\": \"Large\",\n"
+ " \"color\": \"Red\"\n"
+ "}",
resultChain.item());
U.chain(
"https://support.oneskyapp.com/hc/en-us/article_attachments/202761627/example_1.json")
.fetch();
Expand Down Expand Up @@ -665,12 +666,13 @@ void fetchGetWithTimeouts() {
"https://support.oneskyapp.com/hc/en-us/article_attachments/202761627/example_1.json",
30000,
30000);
assertEquals("{\n"
+ " \"fruit\": \"Apple\",\n"
+ " \"size\": \"Large\",\n"
+ " \"color\": \"Red\"\n"
+ "}",
result.text());
assertEquals(
"{\n"
+ " \"fruit\": \"Apple\",\n"
+ " \"size\": \"Large\",\n"
+ " \"color\": \"Red\"\n"
+ "}",
result.text());
}

@Test
Expand Down Expand Up @@ -730,7 +732,7 @@ void fetchPut() {
+ " \"fireBreath\": 10"
+ " }"
+ "}");
assertEquals(403, result.getStatus());
assertEquals(403, result.getStatus());
U.FetchResponse result2 =
U.fetch(
"https://support.oneskyapp.com/hc/en-us/article_attachments/202761627/example_1.json",
Expand Down Expand Up @@ -760,13 +762,15 @@ void fetchPut() {
+ " \"fireBreath\": 10"
+ " }"
+ "}");
assertEquals("<html>\n"
+ "<head><title>301 Moved Permanently</title></head>\n"
+ "<body>\n"
+ "<center><h1>301 Moved Permanently</h1></center>\n"
+ "<hr><center>cloudflare</center>\n"
+ "</body>\n"
+ "</html>\n", resultChain.item().replace("\r\n", "\n"));
assertEquals(
"<html>\n"
+ "<head><title>301 Moved Permanently</title></head>\n"
+ "<body>\n"
+ "<center><h1>301 Moved Permanently</h1></center>\n"
+ "<hr><center>cloudflare</center>\n"
+ "</body>\n"
+ "</html>\n",
resultChain.item().replace("\r\n", "\n"));
}

@Test
Expand Down Expand Up @@ -1029,15 +1033,15 @@ void xmpToJson4() {

@Test
void xmpToJson5() {
assertEquals("{\n"
assertEquals(
"{\n"
+ " \"Comment\": {\n"
+ " \"-stringValue\": \"============================\",\n"
+ " \"-self-closing\": \"true\"\n"
+ " },\n"
+ " \"#omit-xml-declaration\": \"yes\"\n"
+ "}",
U.xmlToJson(
"<Comment stringValue=\"============================\"/>"));
U.xmlToJson("<Comment stringValue=\"============================\"/>"));
}

@Test
Expand All @@ -1054,15 +1058,13 @@ void xmlToJsonMinimum() {
+ "}",
U.xmlToJsonMinimum("<root><element>1</element><element>2</element><a/></root>"));
assertEquals(
"[\n"
+ " \"a\",\n"
+ " \"b\"\n"
+ "]",
U.xmlToJsonMinimum("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<root>\n"
+ " <element>a</element>\n"
+ " <element>b</element>\n"
+ "</root>"));
"[\n" + " \"a\",\n" + " \"b\"\n" + "]",
U.xmlToJsonMinimum(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<root>\n"
+ " <element>a</element>\n"
+ " <element>b</element>\n"
+ "</root>"));
}

@Test
Expand Down Expand Up @@ -1357,13 +1359,13 @@ void jsonToXml() {

@Test
void jsonToXmlMinimum() {
assertEquals("<a></a>",
U.jsonToXmlMinimum("{\n \"a\": {\n }\n}"));
assertEquals("<a></a>",
assertEquals("<a></a>", U.jsonToXmlMinimum("{\n \"a\": {\n }\n}"));
assertEquals(
"<a></a>",
U.jsonToXmlMinimum("{\n \"a\": {\n }\n}", Xml.XmlStringBuilder.Step.TWO_SPACES));
assertEquals("<root empty-array=\"true\"></root>",
U.jsonToXmlMinimum("[]"));
assertEquals("<root>\n"
assertEquals("<root empty-array=\"true\"></root>", U.jsonToXmlMinimum("[]"));
assertEquals(
"<root>\n"
+ " <a>\n"
+ " <b>1</b>\n"
+ " </a>\n"
Expand Down
Loading
Loading