40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
using NUnit.Framework;
|
|
|
|
namespace Mirror.Tests
|
|
{
|
|
class NetworkManagerOnServerDisconnect : NetworkManager
|
|
{
|
|
public int called;
|
|
public override void OnServerDisconnect(NetworkConnectionToClient conn)
|
|
{
|
|
base.OnServerDisconnect(conn);
|
|
++called;
|
|
}
|
|
}
|
|
|
|
[TestFixture]
|
|
public class NetworkManagerStopHostOnServerDisconnectTest : MirrorEditModeTest
|
|
{
|
|
NetworkManagerOnServerDisconnect manager;
|
|
|
|
[SetUp]
|
|
public override void SetUp()
|
|
{
|
|
base.SetUp();
|
|
manager = transport.gameObject.AddComponent<NetworkManagerOnServerDisconnect>();
|
|
}
|
|
|
|
// test to prevent https://github.com/vis2k/Mirror/issues/1515
|
|
[Test]
|
|
public void StopHostCallsOnServerDisconnectForHostClient()
|
|
{
|
|
// OnServerDisconnect is always called when a client disconnects.
|
|
// it should also be called for the host client when we stop the host
|
|
Assert.That(manager.called, Is.EqualTo(0));
|
|
manager.StartHost();
|
|
manager.StopHost();
|
|
Assert.That(manager.called, Is.EqualTo(1));
|
|
}
|
|
}
|
|
}
|