mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 11:00:32 +00:00
NetworkIdentityTests: OnStartAuthorityComponentExceptionIsCaught
This commit is contained in:
parent
0965283c53
commit
85aae6482d
@ -42,6 +42,16 @@ public override void OnStartClient()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class StartAuthorityExceptionNetworkBehaviour : NetworkBehaviour
|
||||||
|
{
|
||||||
|
public int called;
|
||||||
|
public override void OnStartAuthority()
|
||||||
|
{
|
||||||
|
++called;
|
||||||
|
throw new Exception("some exception");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// A Test behaves as an ordinary method
|
// A Test behaves as an ordinary method
|
||||||
[Test]
|
[Test]
|
||||||
public void OnStartServerTest()
|
public void OnStartServerTest()
|
||||||
@ -370,6 +380,29 @@ public void OnStartClientComponentExceptionIsCaught()
|
|||||||
GameObject.DestroyImmediate(gameObject);
|
GameObject.DestroyImmediate(gameObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void OnStartAuthorityComponentExceptionIsCaught()
|
||||||
|
{
|
||||||
|
// create a networkidentity with our test component
|
||||||
|
GameObject gameObject = new GameObject();
|
||||||
|
NetworkIdentity identity = gameObject.AddComponent<NetworkIdentity>();
|
||||||
|
StartClientExceptionNetworkBehaviour comp = gameObject.AddComponent<StartClientExceptionNetworkBehaviour>();
|
||||||
|
|
||||||
|
// make sure that comp.OnStartClient was called and make sure that
|
||||||
|
// the exception was caught and not thrown in here.
|
||||||
|
// an exception in OnStartClient should be caught, so that one
|
||||||
|
// component's exception doesn't stop all other components from
|
||||||
|
// being initialized
|
||||||
|
// (an error log is expected though)
|
||||||
|
LogAssert.ignoreFailingMessages = true;
|
||||||
|
identity.OnStartClient(); // should catch the exception internally and not throw it
|
||||||
|
Assert.That(comp.called, Is.EqualTo(1));
|
||||||
|
LogAssert.ignoreFailingMessages = false;
|
||||||
|
|
||||||
|
// clean up
|
||||||
|
GameObject.DestroyImmediate(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
// OnStartServer in host mode should set isClient=true
|
// OnStartServer in host mode should set isClient=true
|
||||||
[Test]
|
[Test]
|
||||||
public void OnStartServerInHostModeSetsIsClientTrue()
|
public void OnStartServerInHostModeSetsIsClientTrue()
|
||||||
|
Loading…
Reference in New Issue
Block a user