34 lines
		
	
	
		
			711 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			711 B
		
	
	
	
		
			V
		
	
	
import eventbus
 | 
						|
 | 
						|
struct EventData {
 | 
						|
	data	string
 | 
						|
}
 | 
						|
 | 
						|
fn test_eventbus(){
 | 
						|
	ev_data := &EventData{'hello'}
 | 
						|
	mut eb := eventbus.new()
 | 
						|
	eb.subscriber.subscribe_once("on_test", on_test)
 | 
						|
 | 
						|
	assert eb.has_subscriber("on_test")
 | 
						|
	assert eb.subscriber.is_subscribed("on_test")
 | 
						|
 | 
						|
	eb.publish("on_test", eb, ev_data)
 | 
						|
 | 
						|
	assert !eb.has_subscriber("on_test")
 | 
						|
	assert !eb.subscriber.is_subscribed("on_test")
 | 
						|
 | 
						|
	eb.subscriber.subscribe("on_test", on_test)
 | 
						|
 | 
						|
	assert eb.has_subscriber("on_test")
 | 
						|
	assert eb.subscriber.is_subscribed("on_test")
 | 
						|
 | 
						|
	eb.clear_all()
 | 
						|
 | 
						|
	assert !eb.has_subscriber("on_test")
 | 
						|
	assert !eb.subscriber.is_subscribed("on_test")
 | 
						|
}
 | 
						|
 | 
						|
fn on_test(sender voidptr, ev &EventData, x voidptr) {
 | 
						|
	assert ev.data == "hello"
 | 
						|
}
 |