Merge pull request #29295 from Gnaily

* gh-29295:
  Polish "Override available() in RandomAccessDataFile's InputStream"
  Override available() in RandomAccessDataFile's InputStream

Closes gh-29295
pull/29884/head
Andy Wilkinson 3 years ago
commit e582a13221

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -180,6 +180,11 @@ public class RandomAccessDataFile implements RandomAccessData {
return (n <= 0) ? 0 : moveOn(cap(n));
}
@Override
public int available() throws IOException {
return (int) RandomAccessDataFile.this.length - this.position;
}
/**
* Cap the specified value such that it cannot exceed the number of bytes
* remaining.

@ -1,5 +1,5 @@
/*
* Copyright 2012-2021 the original author or authors.
* Copyright 2012-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -199,6 +199,15 @@ class RandomAccessDataFileTests {
assertThat(amountSkipped).isEqualTo(0L);
}
@Test
void inputStreamAvailable() throws Exception {
assertThat(this.inputStream.available()).isEqualTo(256);
this.inputStream.skip(56);
assertThat(this.inputStream.available()).isEqualTo(200);
this.inputStream.skip(200);
assertThat(this.inputStream.available()).isEqualTo(0);
}
@Test
void subsectionNegativeOffset() {
assertThatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> this.file.getSubsection(-1, 1));

Loading…
Cancel
Save