diff options
Diffstat (limited to 'src/pkg/compress/zlib/reader_test.go')
| -rw-r--r-- | src/pkg/compress/zlib/reader_test.go | 35 | 
1 files changed, 34 insertions, 1 deletions
| diff --git a/src/pkg/compress/zlib/reader_test.go b/src/pkg/compress/zlib/reader_test.go index eaefc3a36..195db446c 100644 --- a/src/pkg/compress/zlib/reader_test.go +++ b/src/pkg/compress/zlib/reader_test.go @@ -15,6 +15,7 @@ type zlibTest struct {  	desc       string  	raw        string  	compressed []byte +	dict       []byte  	err        os.Error  } @@ -27,6 +28,7 @@ var zlibTests = []zlibTest{  		"",  		[]byte{0x78, 0x9c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01},  		nil, +		nil,  	},  	{  		"goodbye", @@ -37,23 +39,27 @@ var zlibTests = []zlibTest{  			0x01, 0x00, 0x28, 0xa5, 0x05, 0x5e,  		},  		nil, +		nil,  	},  	{  		"bad header",  		"",  		[]byte{0x78, 0x9f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01}, +		nil,  		HeaderError,  	},  	{  		"bad checksum",  		"",  		[]byte{0x78, 0x9c, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff}, +		nil,  		ChecksumError,  	},  	{  		"not enough data",  		"",  		[]byte{0x78, 0x9c, 0x03, 0x00, 0x00, 0x00}, +		nil,  		io.ErrUnexpectedEOF,  	},  	{ @@ -64,6 +70,33 @@ var zlibTests = []zlibTest{  			0x78, 0x9c, 0xff,  		},  		nil, +		nil, +	}, +	{ +		"dictionary", +		"Hello, World!\n", +		[]byte{ +			0x78, 0xbb, 0x1c, 0x32, 0x04, 0x27, 0xf3, 0x00, +			0xb1, 0x75, 0x20, 0x1c, 0x45, 0x2e, 0x00, 0x24, +			0x12, 0x04, 0x74, +		}, +		[]byte{ +			0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x0a, +		}, +		nil, +	}, +	{ +		"wrong dictionary", +		"", +		[]byte{ +			0x78, 0xbb, 0x1c, 0x32, 0x04, 0x27, 0xf3, 0x00, +			0xb1, 0x75, 0x20, 0x1c, 0x45, 0x2e, 0x00, 0x24, +			0x12, 0x04, 0x74, +		}, +		[]byte{ +			0x48, 0x65, 0x6c, 0x6c, +		}, +		DictionaryError,  	},  } @@ -71,7 +104,7 @@ func TestDecompressor(t *testing.T) {  	b := new(bytes.Buffer)  	for _, tt := range zlibTests {  		in := bytes.NewBuffer(tt.compressed) -		zlib, err := NewReader(in) +		zlib, err := NewReaderDict(in, tt.dict)  		if err != nil {  			if err != tt.err {  				t.Errorf("%s: NewReader: %s", tt.desc, err) | 
