Add a deflate distance-code-31 test
diff --git a/script/make-artificial.go b/script/make-artificial.go
index 8cadd94..d436b99 100644
--- a/script/make-artificial.go
+++ b/script/make-artificial.go
@@ -308,6 +308,16 @@
return stateDeflateFixedHuffman, nil
}
+ if line == "len 3 distCode 31" {
+ lCode, lExtra, lNExtra := deflateEncodeLength(3)
+ g.stream.writeLCode(lCode)
+ g.stream.writeBits(lExtra, lNExtra)
+ dCode, dExtra, dNExtra := uint32(31), uint32(0), uint32(0)
+ g.stream.writeBits(reverse(dCode, 5), 5)
+ g.stream.writeBits(dExtra, dNExtra)
+ return stateDeflateFixedHuffman, nil
+ }
+
if l, d, ok := deflateParseLenDist(line); ok {
lCode, lExtra, lNExtra := deflateEncodeLength(l)
g.stream.writeLCode(lCode)