mirror of
https://github.com/octoleo/plantuml.git
synced 2024-11-27 07:16:36 +00:00
85 lines
2.3 KiB
Java
85 lines
2.3 KiB
Java
package net.sourceforge.plantuml;
|
|
|
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
|
import static net.sourceforge.plantuml.FileFormat.PNG;
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
import java.io.IOException;
|
|
import java.nio.file.Path;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.io.TempDir;
|
|
|
|
import net.sourceforge.plantuml.core.Diagram;
|
|
import net.sourceforge.plantuml.file.SuggestedFile;
|
|
import net.sourceforge.plantuml.preproc.Defines;
|
|
|
|
class PSystemUtilsTest {
|
|
|
|
//
|
|
// Test Cases
|
|
//
|
|
|
|
@Test
|
|
void test_splitPng(@TempDir Path tempDir) throws Exception {
|
|
final String source = "" +
|
|
"@startuml\n" +
|
|
"page 3x2\n" +
|
|
"class foo\n" +
|
|
"@enduml\n";
|
|
|
|
final List<FileImageData> fileImageData = render(source, tempDir);
|
|
|
|
assertThat(tempDir.resolve("output.png"))
|
|
.isNotEmptyFile();
|
|
assertThat(tempDir.resolve("output_001.png"))
|
|
.isNotEmptyFile();
|
|
assertThat(tempDir.resolve("output_002.png"))
|
|
.isNotEmptyFile();
|
|
assertThat(tempDir.resolve("output_003.png"))
|
|
.isNotEmptyFile();
|
|
assertThat(tempDir.resolve("output_004.png"))
|
|
.isNotEmptyFile();
|
|
assertThat(tempDir.resolve("output_005.png"))
|
|
.isNotEmptyFile();
|
|
|
|
assertThat(fileImageData)
|
|
.hasSize(6);
|
|
assertThat(tempDir.toFile().listFiles())
|
|
.hasSize(6);
|
|
}
|
|
|
|
@Test
|
|
void test_splitPng_no_split(@TempDir Path tempDir) throws Exception {
|
|
final String source = "" +
|
|
"@startuml\n" +
|
|
"class foo\n" +
|
|
"@enduml\n";
|
|
|
|
final List<FileImageData> fileImageData = render(source, tempDir);
|
|
|
|
assertThat(tempDir.resolve("output.png"))
|
|
.isNotEmptyFile();
|
|
assertThat(fileImageData)
|
|
.hasSize(1);
|
|
assertThat(tempDir.toFile().listFiles())
|
|
.hasSize(1);
|
|
}
|
|
|
|
//
|
|
// Test DSL
|
|
//
|
|
|
|
private static List<FileImageData> render(String source, Path tempDir) throws IOException {
|
|
final SourceStringReader reader = new SourceStringReader(Defines.createEmpty(), source, UTF_8.name(), Collections.<String>emptyList());
|
|
|
|
final Diagram diagram = reader.getBlocks().get(0).getDiagram();
|
|
|
|
final SuggestedFile suggestedFile = SuggestedFile.fromOutputFile(tempDir.resolve("output").toFile(), PNG, 0);
|
|
|
|
return PSystemUtils.exportDiagrams(diagram, suggestedFile, new FileFormatOption(PNG), false);
|
|
}
|
|
}
|