1package xz
2
3import (
4	"bytes"
5	"io"
6	"os"
7	"testing"
8)
9
10func TestDecompress(T *testing.T) {
11	orig, err := os.Open("testdata/spec")
12	if err != nil {
13		T.Fatal(err)
14	}
15	defer orig.Close()
16
17	expected := &bytes.Buffer{}
18	_, err = io.Copy(expected, orig)
19	if err != nil {
20		T.Fatal(err)
21	}
22
23	source, err := os.Open("testdata/spec.xz")
24	if err != nil {
25		T.Fatal(err)
26	}
27	defer source.Close()
28
29	r, err := NewReader(source)
30	if err != nil {
31		T.Fatal(err)
32	}
33
34	buf := &bytes.Buffer{}
35	n, err := io.Copy(buf, r)
36	if n != int64(expected.Len()) {
37		T.Fail()
38	}
39
40	if bytes.Compare(buf.Bytes(), expected.Bytes()) != 0 {
41		T.Fail()
42	}
43
44	err = r.Close()
45	if err != nil {
46		T.Fail()
47	}
48}
49