| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- package dispatcher_test
 
- import (
 
- 	"testing"
 
- 	. "github.com/xtls/xray-core/app/dispatcher"
 
- 	"github.com/xtls/xray-core/common"
 
- 	"github.com/xtls/xray-core/common/buf"
 
- )
 
- type TestCounter int64
 
- func (c *TestCounter) Value() int64 {
 
- 	return int64(*c)
 
- }
 
- func (c *TestCounter) Add(v int64) int64 {
 
- 	x := int64(*c) + v
 
- 	*c = TestCounter(x)
 
- 	return x
 
- }
 
- func (c *TestCounter) Set(v int64) int64 {
 
- 	*c = TestCounter(v)
 
- 	return v
 
- }
 
- func TestStatsWriter(t *testing.T) {
 
- 	var c TestCounter
 
- 	writer := &SizeStatWriter{
 
- 		Counter: &c,
 
- 		Writer:  buf.Discard,
 
- 	}
 
- 	mb := buf.MergeBytes(nil, []byte("abcd"))
 
- 	common.Must(writer.WriteMultiBuffer(mb))
 
- 	mb = buf.MergeBytes(nil, []byte("efg"))
 
- 	common.Must(writer.WriteMultiBuffer(mb))
 
- 	if c.Value() != 7 {
 
- 		t.Fatal("unexpected counter value. want 7, but got ", c.Value())
 
- 	}
 
- }
 
 
  |