1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
/*!
* VisualEditor FakePeer tests.
*
* @copyright See AUTHORS.txt
*/
QUnit.module( 've.FakePeer' );
QUnit.test( 'interactions', ( assert ) => {
const log = [];
const done = assert.async();
const finalCheck = function () {
const expectedLog = [
'peer0open p0',
'peer1open p1',
'peer0conn',
'conn1open',
'conn0open',
'conn1data hello'
];
assert.deepEqual( log, expectedLog, 'log' );
done();
};
const mkPeer = function () {
// return new Peer( undefined, { host: 'localhost', port: 9000, path: '/myapp' } );
return new ve.FakePeer();
};
const peer0 = mkPeer();
peer0.on( 'open', ( peer0Id ) => {
log.push( 'peer0open ' + peer0Id );
const peer1 = mkPeer();
peer1.on( 'open', ( id ) => {
log.push( 'peer1open ' + id );
const conn1 = peer1.connect( peer0Id );
conn1.on( 'open', () => {
log.push( 'conn1open' );
} );
conn1.on( 'data', ( data ) => {
log.push( 'conn1data ' + data );
finalCheck();
} );
} );
} );
peer0.on( 'connection', ( conn0 ) => {
log.push( 'peer0conn' );
conn0.on( 'open', () => {
log.push( 'conn0open' );
conn0.send( 'hello' );
} );
conn0.on( 'data', ( data ) => {
log.push( 'conn0data ' + data );
} );
} );
} );
|