mirror of
				https://github.com/fluffle/goirc
				synced 2025-10-31 18:28:05 +00:00 
			
		
		
		
	Add Send method for mockNetConn, and make Read/Write return errors when closed.
This commit is contained in:
		
							parent
							
								
									48ad9bfa4a
								
							
						
					
					
						commit
						0d7d875b9f
					
				
					 1 changed files with 11 additions and 1 deletions
				
			
		|  | @ -45,7 +45,11 @@ func MockNetConn(t *testing.T) (*mockNetConn) { | ||||||
| 	return m | 	return m | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Test helper | // Test helpers | ||||||
|  | func (m *mockNetConn) Send(s string) { | ||||||
|  | 	m.In <- s + "\r\n" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (m *mockNetConn) Expect(e string) { | func (m *mockNetConn) Expect(e string) { | ||||||
| 	s := <-m.Out | 	s := <-m.Out | ||||||
| 	if e + "\r\n" != s { | 	if e + "\r\n" != s { | ||||||
|  | @ -56,12 +60,18 @@ func (m *mockNetConn) Expect(e string) { | ||||||
| 
 | 
 | ||||||
| // Implement net.Conn interface | // Implement net.Conn interface | ||||||
| func (m *mockNetConn) Read(b []byte) (int, os.Error) { | func (m *mockNetConn) Read(b []byte) (int, os.Error) { | ||||||
|  | 	if m.closed { | ||||||
|  | 		return 0, os.NewError("EOF") | ||||||
|  | 	} | ||||||
| 	s := <-m.in | 	s := <-m.in | ||||||
| 	copy(b, s) | 	copy(b, s) | ||||||
| 	return len(s), nil | 	return len(s), nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (m *mockNetConn) Write(s []byte) (int, os.Error) { | func (m *mockNetConn) Write(s []byte) (int, os.Error) { | ||||||
|  | 	if m.closed { | ||||||
|  | 		return 0, os.NewError("Can't write to closed socket.") | ||||||
|  | 	} | ||||||
| 	b := make([]byte, len(s)) | 	b := make([]byte, len(s)) | ||||||
| 	copy(b, s) | 	copy(b, s) | ||||||
| 	m.out <- b | 	m.out <- b | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue