mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 15:51:54 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			106 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package caches
 | 
						|
 | 
						|
import "testing"
 | 
						|
 | 
						|
func TestMemoryReader_Header(t *testing.T) {
 | 
						|
	item := &MemoryItem{
 | 
						|
		ExpiredAt:   0,
 | 
						|
		HeaderValue: []byte("0123456789"),
 | 
						|
		BodyValue:   nil,
 | 
						|
		Status:      2000,
 | 
						|
	}
 | 
						|
	reader := NewMemoryReader(item)
 | 
						|
	buf := make([]byte, 6)
 | 
						|
	err := reader.ReadHeader(buf, func(n int) (goNext bool, err error) {
 | 
						|
		t.Log("buf:", string(buf[:n]))
 | 
						|
		return true, nil
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestMemoryReader_Body(t *testing.T) {
 | 
						|
	item := &MemoryItem{
 | 
						|
		ExpiredAt:   0,
 | 
						|
		HeaderValue: nil,
 | 
						|
		BodyValue:   []byte("0123456789"),
 | 
						|
		Status:      2000,
 | 
						|
	}
 | 
						|
	reader := NewMemoryReader(item)
 | 
						|
	buf := make([]byte, 6)
 | 
						|
	err := reader.ReadBody(buf, func(n int) (goNext bool, err error) {
 | 
						|
		t.Log("buf:", string(buf[:n]))
 | 
						|
		return true, nil
 | 
						|
	})
 | 
						|
	if err != nil {
 | 
						|
		t.Fatal(err)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestMemoryReader_Body_Range(t *testing.T) {
 | 
						|
	item := &MemoryItem{
 | 
						|
		ExpiredAt:   0,
 | 
						|
		HeaderValue: nil,
 | 
						|
		BodyValue:   []byte("0123456789"),
 | 
						|
		Status:      2000,
 | 
						|
	}
 | 
						|
	reader := NewMemoryReader(item)
 | 
						|
	buf := make([]byte, 6)
 | 
						|
	var err error
 | 
						|
	{
 | 
						|
		err = reader.ReadBodyRange(buf, 0, 0, func(n int) (goNext bool, err error) {
 | 
						|
			t.Log("[0, 0]", "body:", string(buf[:n]))
 | 
						|
			return true, nil
 | 
						|
		})
 | 
						|
		if err != nil {
 | 
						|
			t.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	{
 | 
						|
		err = reader.ReadBodyRange(buf, 7, 7, func(n int) (goNext bool, err error) {
 | 
						|
			t.Log("[7, 7]", "body:", string(buf[:n]))
 | 
						|
			return true, nil
 | 
						|
		})
 | 
						|
		if err != nil {
 | 
						|
			t.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	{
 | 
						|
		err = reader.ReadBodyRange(buf, 0, 10, func(n int) (goNext bool, err error) {
 | 
						|
			t.Log("[0, 10]", "body:", string(buf[:n]))
 | 
						|
			return true, nil
 | 
						|
		})
 | 
						|
		if err != nil {
 | 
						|
			t.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	{
 | 
						|
		err = reader.ReadBodyRange(buf, 3, 5, func(n int) (goNext bool, err error) {
 | 
						|
			t.Log("[3, 5]", "body:", string(buf[:n]))
 | 
						|
			return true, nil
 | 
						|
		})
 | 
						|
		if err != nil {
 | 
						|
			t.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	{
 | 
						|
		err = reader.ReadBodyRange(buf, -1, -3, func(n int) (goNext bool, err error) {
 | 
						|
			t.Log("[, -3]", "body:", string(buf[:n]))
 | 
						|
			return true, nil
 | 
						|
		})
 | 
						|
		if err != nil {
 | 
						|
			t.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	{
 | 
						|
		err = reader.ReadBodyRange(buf, 3, -1, func(n int) (goNext bool, err error) {
 | 
						|
			t.Log("[3, ]", "body:", string(buf[:n]))
 | 
						|
			return true, nil
 | 
						|
		})
 | 
						|
		if err != nil {
 | 
						|
			t.Fatal(err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |