49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			V
		
	
	
import net.http
 | 
						|
 | 
						|
fn test_header_new() {
 | 
						|
	h := http.new_header(
 | 
						|
		{key: .accept, value: 'nothing'},
 | 
						|
		{key: .expires, value: 'yesterday'}
 | 
						|
	)
 | 
						|
	assert h.contains_str('accept')
 | 
						|
	assert h.contains(.expires)
 | 
						|
	accept := h.get(.accept) or { '' }
 | 
						|
	expires := h.get(.expires) or { '' }
 | 
						|
	assert accept == 'nothing'
 | 
						|
	assert expires == 'yesterday'
 | 
						|
}
 | 
						|
 | 
						|
fn test_header_invalid_key() {
 | 
						|
	mut h := http.new_header()
 | 
						|
	h.add_str('space is invalid', ':(') or { return }
 | 
						|
	panic('should have returned')
 | 
						|
}
 | 
						|
 | 
						|
fn test_header_adds_multiple() {
 | 
						|
	mut h := http.new_header()
 | 
						|
	h.add(.accept, 'one')
 | 
						|
	h.add(.accept, 'two')
 | 
						|
 | 
						|
	assert h.values(.accept) == ['one' 'two']
 | 
						|
}
 | 
						|
 | 
						|
fn test_header_set() {
 | 
						|
	mut h := http.new_header(
 | 
						|
		{key: .dnt, value: 'one'},
 | 
						|
		{key: .dnt, value: 'two'}
 | 
						|
	)
 | 
						|
	assert h.values(.dnt) == ['one' 'two']
 | 
						|
	h.set_str('dnt', 'three')
 | 
						|
	assert h.values(.dnt) == ['three']
 | 
						|
}
 | 
						|
 | 
						|
fn test_header_delete() {
 | 
						|
	mut h := http.new_header(
 | 
						|
		{key: .dnt, value: 'one'},
 | 
						|
		{key: .dnt, value: 'two'}
 | 
						|
	)
 | 
						|
	assert h.values(.dnt) == ['one' 'two']
 | 
						|
	h.delete_str('dnt')
 | 
						|
	assert h.values(.dnt) == []
 | 
						|
}
 |