diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-02-06 15:15:07 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-02-06 15:15:07 +0100 |
commit | 3800655f1633b11a317dcd828799470a71b7a948 (patch) | |
tree | 3e9303834f0c147be3a23deba21d2d8a61d4c3ea /filedistribution/src/test | |
parent | 384475dbec8d3a525a7ea7c0d14d65b75a529689 (diff) |
Fill the buffer gradually.
Diffstat (limited to 'filedistribution/src/test')
-rw-r--r-- | filedistribution/src/test/java/com/yahoo/vespa/filedistribution/FileReferenceDataTest.java | 16 |
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)); + } + } |