Skip to content

Commit

Permalink
Add tests for issue #1424
Browse files Browse the repository at this point in the history
  • Loading branch information
xPaw committed Sep 9, 2024
1 parent b4e4cb9 commit b41b923
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions SteamKit2/Tests/CallbackManagerFacts.cs
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,49 @@ void action( CallbackForTest cb )
}
}

[Fact]
public void CorrectlyUnsubscribesFromInsideOfCallback()
{
static void nothing( CallbackForTest cb )
{
//
}

using var s1 = mgr.Subscribe<CallbackForTest>( nothing );

IDisposable subscription = null;

void unsubscribe( CallbackForTest cb )
{
Assert.NotNull( subscription );
subscription.Dispose();
subscription = null;
}

subscription = mgr.Subscribe<CallbackForTest>( unsubscribe );

PostAndRunCallback( new CallbackForTest { UniqueID = Guid.NewGuid() } );
}

[Fact]
public void CorrectlysubscribesFromInsideOfCallback()
{
static void nothing( CallbackForTest cb )
{
//
}

void subscribe( CallbackForTest cb )
{
using var s2 = mgr.Subscribe<CallbackForTest>( nothing );
}

using var s1 = mgr.Subscribe<CallbackForTest>( nothing );
using var se = mgr.Subscribe<CallbackForTest>( subscribe );

PostAndRunCallback( new CallbackForTest { UniqueID = Guid.NewGuid() } );
}

void PostAndRunCallback(CallbackMsg callback)
{
client.PostCallback(callback);
Expand Down

0 comments on commit b41b923

Please sign in to comment.