1// Copyright 2011 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package packet
6
7import (
8	"bytes"
9	"encoding/hex"
10	"io"
11	"io/ioutil"
12	"testing"
13)
14
15func TestCompressed(t *testing.T) {
16	packet, err := Read(readerFromHex(compressedHex))
17	if err != nil {
18		t.Errorf("failed to read Compressed: %s", err)
19		return
20	}
21
22	c, ok := packet.(*Compressed)
23	if !ok {
24		t.Error("didn't find Compressed packet")
25		return
26	}
27
28	contents, err := ioutil.ReadAll(c.Body)
29	if err != nil && err != io.EOF {
30		t.Error(err)
31		return
32	}
33
34	expected, _ := hex.DecodeString(compressedExpectedHex)
35	if !bytes.Equal(expected, contents) {
36		t.Errorf("got:%x want:%x", contents, expected)
37	}
38}
39
40const compressedHex = "a3013b2d90c4e02b72e25f727e5e496a5e49b11e1700"
41const compressedExpectedHex = "cb1062004d14c8fe636f6e74656e74732e0a"
42