(t *testing.T)
| 842 | } |
| 843 | |
| 844 | func TestDecoder_Reset(t *testing.T) { |
| 845 | in, err := os.ReadFile("testdata/z000028") |
| 846 | if err != nil { |
| 847 | t.Fatal(err) |
| 848 | } |
| 849 | in = append(in, in...) |
| 850 | var e Encoder |
| 851 | start := time.Now() |
| 852 | dst := e.EncodeAll(in, nil) |
| 853 | t.Log("Simple Encoder len", len(in), "-> zstd len", len(dst)) |
| 854 | mbpersec := (float64(len(in)) / (1024 * 1024)) / (float64(time.Since(start)) / (float64(time.Second))) |
| 855 | t.Logf("Encoded %d bytes with %.2f MB/s", len(in), mbpersec) |
| 856 | |
| 857 | dec, err := NewReader(nil) |
| 858 | if err != nil { |
| 859 | t.Fatal(err) |
| 860 | } |
| 861 | defer dec.Close() |
| 862 | decoded, err := dec.DecodeAll(dst, nil) |
| 863 | if err != nil { |
| 864 | t.Error(err, len(decoded)) |
| 865 | } |
| 866 | if !bytes.Equal(decoded, in) { |
| 867 | t.Logf("size = %d, got = %d", len(decoded), len(in)) |
| 868 | t.Fatal("Decoded does not match") |
| 869 | } |
| 870 | t.Log("Encoded content matched") |
| 871 | |
| 872 | // Decode using reset+copy |
| 873 | for range 3 { |
| 874 | err = dec.Reset(bytes.NewBuffer(dst)) |
| 875 | if err != nil { |
| 876 | t.Fatal(err) |
| 877 | } |
| 878 | var dBuf bytes.Buffer |
| 879 | n, err := io.Copy(&dBuf, dec) |
| 880 | if err != nil { |
| 881 | t.Fatal(err) |
| 882 | } |
| 883 | decoded = dBuf.Bytes() |
| 884 | if int(n) != len(decoded) { |
| 885 | t.Fatalf("decoded reported length mismatch %d != %d", n, len(decoded)) |
| 886 | } |
| 887 | if !bytes.Equal(decoded, in) { |
| 888 | os.WriteFile("testdata/"+t.Name()+"-z000028.got", decoded, os.ModePerm) |
| 889 | os.WriteFile("testdata/"+t.Name()+"-z000028.want", in, os.ModePerm) |
| 890 | t.Fatal("Decoded does not match") |
| 891 | } |
| 892 | } |
| 893 | // Test without WriterTo interface support. |
| 894 | for range 3 { |
| 895 | err = dec.Reset(bytes.NewBuffer(dst)) |
| 896 | if err != nil { |
| 897 | t.Fatal(err) |
| 898 | } |
| 899 | decoded, err := io.ReadAll(io.NopCloser(dec)) |
| 900 | if err != nil { |
| 901 | t.Fatal(err) |
nothing calls this directly
no test coverage detected
searching dependent graphs…