Fix lang generator escaping newlines, add lang generator test

This commit is contained in:
tterrag committed 2019-10-30 15:25:03 -04:00
1 parent 69ba974960
commit ebd463e92f
4 files changed
+39 -2

No files matched your search

@@ -27,7 +27,7 @@ import java.util.Objects;
import java.util.TreeMap;
import java.util.function.Supplier;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.text.translate.JavaUnicodeEscaper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -73,7 +73,7 @@ public abstract class LanguageProvider implements IDataProvider {
private void save(DirectoryCache cache, Object object, Path target) throws IOException {
String data = GSON.toJson(object);
data = StringEscapeUtils.escapeJava(data); // Escape control chars and unicode
data = JavaUnicodeEscaper.outsideOf(0, 0x7f).translate(data); // Escape unicode after the fact so that it's not double escaped by GSON
String hash = IDataProvider.HASH_FUNCTION.hashUnencodedChars(data).toString();
if (!Objects.equals(cache.getPreviousHash(target), hash) || !Files.exists(target)) {
Files.createDirectories(target.getParent());