git clone https://git.lucas.co/go_mono.git
tiff: re-organize some test cases, and make comment style consistent.
There is no code changes in this CL, just a copy/paste and some
wordsmithing.
Change-Id: I418e8aed5ab997fad4214e8049287cac4bce8bf6
Reviewed-on: https://go-review.googlesource.com/11274
Reviewed-by: Nigel Tao <[email protected]>
tiff/reader_test.go | 82 +++++++++++++++++++++++++++--------------------------
1 file changed, 42 insertions(+), 40 deletions(-)
diff --git a/tiff/reader_test.go b/tiff/reader_test.go
index 83bccd7..f5c02e6 100644
--- a/tiff/reader_test.go
+++ b/tiff/reader_test.go
@@ -38,9 +38,9 @@ func load(name string) (image.Image, error) {
return img, nil
}
-// TestNoRPS tries to decode an image that has no RowsPerStrip tag.
-// The tag is mandatory according to the spec but some software omits
-// it in the case of a single strip.
+// TestNoRPS tests decoding an image that has no RowsPerStrip tag. The tag is
+// mandatory according to the spec but some software omits it in the case of a
+// single strip.
func TestNoRPS(t *testing.T) {
_, err := load("no_rps.tiff")
if err != nil {
@@ -48,8 +48,9 @@ func TestNoRPS(t *testing.T) {
}
}
-// TestNoCompression tries to decode an images that has no Compression tag.
-// This tag is mandatory, but most tools interpret a missing value as no compression.
+// TestNoCompression tests decoding an image that has no Compression tag. This
+// tag is mandatory, but most tools interpret a missing value as no
+// compression.
func TestNoCompression(t *testing.T) {
_, err := load("no_compress.tiff")
if err != nil {
@@ -176,8 +177,8 @@ func TestDecode(t *testing.T) {
compare(t, img0, img4)
}
-// TestDecodeLZW tests that decoding a PNG image and a LZW-compressed TIFF image
-// result in the same pixel data.
+// TestDecodeLZW tests that decoding a PNG image and a LZW-compressed TIFF
+// image result in the same pixel data.
func TestDecodeLZW(t *testing.T) {
img0, err := load("blue-purple-pink.png")
if err != nil {
@@ -236,8 +237,36 @@ func replace(src []byte, find, repl string) ([]byte, error) {
return dst, nil
}
-// TestTileTooBig checks that we do not panic when a tile is too big compared
-// to the data available.
+// TestZeroBitsPerSample tests that an IFD with a bitsPerSample of 0 does not
+// cause a crash.
+// Issue 10711.
+func TestZeroBitsPerSample(t *testing.T) {
+ b0, err := ioutil.ReadFile(testdataDir + "bw-deflate.tiff")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Mutate the loaded image to have the problem.
+ // 02 01: tag number (tBitsPerSample)
+ // 03 00: data type (short, or uint16)
+ // 01 00 00 00: count
+ // ?? 00 00 00: value (1 -> 0)
+ b1, err := replace(b0,
+ "02 01 03 00 01 00 00 00 01 00 00 00",
+ "02 01 03 00 01 00 00 00 00 00 00 00",
+ )
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ _, err = Decode(bytes.NewReader(b1))
+ if err == nil {
+ t.Fatal("Decode with 0 bits per sample: got nil error, want non-nil")
+ }
+}
+
+// TestTileTooBig tests that we do not panic when a tile is too big compared to
+// the data available.
// Issue 10712
func TestTileTooBig(t *testing.T) {
b0, err := ioutil.ReadFile(testdataDir + "video-001-tile-64x64.tiff")
@@ -283,8 +312,8 @@ func TestTileTooBig(t *testing.T) {
}
}
-// Do not panic when image dimensions are zero, return zero-sized
-// image instead.
+// TestZeroSizedImages tests that decoding does not panic when image dimensions
+// are zero, and returns a zero-sized image instead.
// Issue 10393.
func TestZeroSizedImages(t *testing.T) {
testsizes := []struct {
@@ -308,8 +337,8 @@ func TestZeroSizedImages(t *testing.T) {
}
}
-// TestLargeIFDEntry verifies that a large IFD entry does not cause Decode
-// to panic.
+// TestLargeIFDEntry tests that a large IFD entry does not cause Decode to
+// panic.
// Issue 10596.
func TestLargeIFDEntry(t *testing.T) {
testdata := "II*\x00\x08\x00\x00\x00\f\x000000000000" +
@@ -327,33 +356,6 @@ func TestLargeIFDEntry(t *testing.T) {
}
}
-// TestZeroBitsPerSample verifies that an IFD with a bitsPerSample of 0 does not cause a crash.
-// Issue 10711.
-func TestZeroBitsPerSample(t *testing.T) {
- b0, err := ioutil.ReadFile(testdataDir + "bw-deflate.tiff")
- if err != nil {
- t.Fatal(err)
- }
-
- // Mutate the loaded image to have the problem.
- // 02 01: tag number (tBitsPerSample)
- // 03 00: data type (short, or uint16)
- // 01 00 00 00: count
- // ?? 00 00 00: value (1 -> 0)
- b1, err := replace(b0,
- "02 01 03 00 01 00 00 00 01 00 00 00",
- "02 01 03 00 01 00 00 00 00 00 00 00",
- )
- if err != nil {
- t.Fatal(err)
- }
-
- _, err = Decode(bytes.NewReader(b1))
- if err == nil {
- t.Fatal("Decode with 0 bits per sample: got nil error, want non-nil")
- }
-}
-
// benchmarkDecode benchmarks the decoding of an image.
func benchmarkDecode(b *testing.B, filename string) {
b.StopTimer()