summaryrefslogtreecommitdiffstats
path: root/filedistribution/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'filedistribution/src/test')
-rw-r--r--filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReferenceDataTest.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReferenceDataTest.java b/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReferenceDataTest.java
index 0b85def5809..f12935609b9 100644
--- a/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReferenceDataTest.java
+++ b/filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReferenceDataTest.java
@@ -25,4 +25,20 @@ public class FileReferenceDataTest {
assertEquals(-1, fileReferenceData.nextContent(byteBuffer));
}
+ @Test
+ public void testLargerDataBlob() {
+ String content = "blobbblubbblabb";
+ FileReferenceData fileReferenceData =
+ new FileReferenceDataBlob(new FileReference("ref"), "foo", FileReferenceData.Type.compressed, Utf8.toBytes(content));
+ ByteBuffer byteBuffer = ByteBuffer.allocate(10);
+ assertEquals(10, fileReferenceData.nextContent(byteBuffer));
+ assertEquals(content.substring(0,10), Utf8.toString(Arrays.copyOfRange(byteBuffer.array(), 0, 10)));
+ byteBuffer.flip();
+ assertEquals(5, fileReferenceData.nextContent(byteBuffer));
+ assertEquals(content.substring(10,15), Utf8.toString(Arrays.copyOfRange(byteBuffer.array(), 0, 5)));
+
+ // nextContent() will always return everything for FileReferenceDataBlob, so nothing more should be read
+ assertEquals(-1, fileReferenceData.nextContent(byteBuffer));
+ }
+
}