diff --git a/com.io7m.laurel.documentation/src/main/resources/com/io7m/laurel/documentation/i-images.xml b/com.io7m.laurel.documentation/src/main/resources/com/io7m/laurel/documentation/i-images.xml
index 5190b96..e60e376 100644
--- a/com.io7m.laurel.documentation/src/main/resources/com/io7m/laurel/documentation/i-images.xml
+++ b/com.io7m.laurel.documentation/src/main/resources/com/io7m/laurel/documentation/i-images.xml
@@ -4,6 +4,14 @@
id="405b6ebe-a489-4849-8b02-57129078ab7e"
title="Images">
- Images...
+ An image is a rectangular array of pixels. The application does not do any special
+ processing of images beyond storing them in the dataset. Images are, in practice, expected to be in one of the
+ various popular image formats such as
+ PNG.
+
+
+ Each image in the dataset may have zero or more
+ captions
+ assigned.
diff --git a/com.io7m.laurel.tests/src/main/java/com/io7m/laurel/tests/LFileModelExportTest.java b/com.io7m.laurel.tests/src/main/java/com/io7m/laurel/tests/LFileModelExportTest.java
index 03069b0..986189e 100644
--- a/com.io7m.laurel.tests/src/main/java/com/io7m/laurel/tests/LFileModelExportTest.java
+++ b/com.io7m.laurel.tests/src/main/java/com/io7m/laurel/tests/LFileModelExportTest.java
@@ -19,6 +19,8 @@
import com.io7m.laurel.filemodel.LExportRequest;
import com.io7m.laurel.filemodel.LFileModelEventType;
+import com.io7m.laurel.filemodel.LFileModelStatusIdle;
+import com.io7m.laurel.filemodel.LFileModelStatusLoading;
import com.io7m.laurel.filemodel.LFileModels;
import com.io7m.laurel.filemodel.internal.LCaptionFiles;
import com.io7m.laurel.gui.internal.LPerpetualSubscriber;
@@ -38,7 +40,9 @@
import java.nio.file.Path;
import java.util.HashMap;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.zip.ZipInputStream;
@@ -86,7 +90,16 @@ public void testExportDatasetGood()
}
try (var model = LFileModels.open(this.outputFile, false)) {
- Thread.sleep(1_000L);
+ final var loadLatch = new CountDownLatch(1);
+
+ model.status().subscribe((oldValue, newValue) -> {
+ if (oldValue instanceof LFileModelStatusLoading && newValue instanceof LFileModelStatusIdle) {
+ loadLatch.countDown();
+ }
+ });
+
+ loadLatch.await();
+ assertEquals(new LFileModelStatusIdle(), model.status().get());
model.export(
new LExportRequest(outputPath, true))