MCPcopy Create free account
hub / github.com/antchfx/xmlquery / TestCaching

Function TestCaching

cached_reader_test.go:10–57  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

8)
9
10func TestCaching(t *testing.T) {
11 buf := strings.NewReader(`ABCDEF`)
12 bufReader := bufio.NewReader(buf)
13 cachedReader := newCachedReader(bufReader)
14
15 b, err := cachedReader.ReadByte()
16 if err != nil {
17 t.Fatal(err.Error())
18 }
19
20 if b != 'A' {
21 t.Fatalf("Expected read byte to be A, got %c instead.", b)
22 }
23
24 cachedReader.StartCaching()
25 tmpBuf := make([]byte, 10)
26 n, err := cachedReader.Read(tmpBuf)
27 if err != nil {
28 t.Fatal(err.Error())
29 }
30
31 if n != 5 {
32 t.Fatalf("Expected 5 bytes to be read. Got %d instead.", n)
33 }
34 if !bytes.Equal(tmpBuf[:n], []byte("BCDEF")) {
35 t.Fatalf("Incorrect read buffer value")
36 }
37
38 cached := cachedReader.Cache()
39 if !bytes.Equal(cached, []byte("BCDEF")) {
40 t.Fatalf("Incorrect cached buffer value")
41 }
42
43 cached = cachedReader.CacheWithLimit(-1)
44 if cached != nil {
45 t.Fatalf("Incorrect cached buffer value")
46 }
47
48 cached = cachedReader.CacheWithLimit(3)
49 if !bytes.Equal(cached, []byte("BCD")) {
50 t.Fatalf("Incorrect cached buffer value")
51 }
52
53 cached = cachedReader.CacheWithLimit(1000)
54 if !bytes.Equal(cached, []byte("BCDEF")) {
55 t.Fatalf("Incorrect cached buffer value")
56 }
57}

Callers

nothing calls this directly

Calls 6

newCachedReaderFunction · 0.85
ReadByteMethod · 0.80
StartCachingMethod · 0.80
CacheMethod · 0.80
CacheWithLimitMethod · 0.80
ReadMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…