29 lines
		
	
	
		
			661 B
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			661 B
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
declare(strict_types = 1);
 | 
						|
 | 
						|
namespace LanguageServer\Tests;
 | 
						|
 | 
						|
use LanguageServer\{ProtocolReader, ProtocolWriter};
 | 
						|
use LanguageServer\Protocol\Message;
 | 
						|
use Sabre\Event\{Loop, Emitter, Promise};
 | 
						|
 | 
						|
/**
 | 
						|
 * A fake duplex protocol stream
 | 
						|
 */
 | 
						|
class MockProtocolStream extends Emitter implements ProtocolReader, ProtocolWriter
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Sends a Message to the client
 | 
						|
     *
 | 
						|
     * @param Message $msg
 | 
						|
     * @return void
 | 
						|
     */
 | 
						|
    public function write(Message $msg): Promise
 | 
						|
    {
 | 
						|
        Loop\nextTick(function () use ($msg) {
 | 
						|
            $this->emit('message', [Message::parse((string)$msg)]);
 | 
						|
        });
 | 
						|
        return Promise\resolve(null);
 | 
						|
    }
 | 
						|
}
 |