Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Fix deflate algorithm

AuthorDaveJarvis <email>
Date2021-09-19 21:26:59 GMT-0700
Commitd7251359eb1c564c44a131dfe1bd54bf5041e357
Parentd4f5b7e
Delta51 lines added, 1 line removed, 50-line increase
src/test/java/com/keenwrite/preview/DiagramUrlGeneratorTest.java
+package com.keenwrite.preview;
+
+import org.junit.jupiter.api.Test;
+
+import static com.keenwrite.preview.DiagramUrlGenerator.toUrl;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+/**
+ * Responsible for testing that images sent to the diagram server will render.
+ */
+class DiagramUrlGeneratorTest {
+ private final static String SERVER_NAME = "kroki.io";
+
+ // @formatter:off
+ private final static String[] DIAGRAMS = new String[]{
+ "graphviz",
+ "digraph G {Hello->World; World->Hello;}",
+ "https://kroki.io/graphviz/svg/eJxLyUwvSizIUHBXqPZIzcnJ17ULzy_KSbFWAFO6dmBB61oAE9kNww==",
+
+ "blockdiag",
+ """
+ blockdiag {
+ Kroki -> generates -> "Block diagrams";
+ Kroki -> is -> "very easy!";
+
+ Kroki [color = "greenyellow"];
+ "Block diagrams" [color = "pink"];
+ "very easy!" [color = "orange"];
+ }
+ """,
+ "https://kroki.io/blockdiag/svg/eJxdzDEKQjEQhOHeU4zpPYFoYesRxGJ9bwghMSsbUYJ4d10UCZbDfPynolOek0Q8FsDeNCestoisNLmy-Qg7R3Blcm5hPcr0ITdaB6X15fv-_YdJixo2CNHI2lmK3sPRA__RwV5SzV80ZAegJjXSyfMFptc71w=="
+ };
+ // @formatter:on
+
+ /**
+ * Test that URL encoding works with Kroki's server.
+ */
+ @Test
+ public void test_Generation_TextDiagram_UrlEncoded() {
+ // Use a map of pairs if this test needs more complexity.
+ for( int i = 0; i < DIAGRAMS.length / 3; i += 3 ) {
+ final var name = DIAGRAMS[ i ];
+ final var text = DIAGRAMS[ i + 1 ];
+ final var expected = DIAGRAMS[ i + 2 ];
+ final var actual = toUrl( SERVER_NAME, name, text );
+
+ assertEquals( expected, actual );
+ }
+ }
+}
gradle.properties
-org.gradle.jvmargs=-Xmx1G -XX:MaxPermSize=512m
+org.gradle.jvmargs=-Xmx1G
org.gradle.daemon=true
org.gradle.parallel=true