Skip to content

Commit c8770f3

Browse files
authored
add unit tests for #3436 (#3485)
1 parent c6881bb commit c8770f3

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

tests/unit/src/flixel/util/FlxSignalTest.hx

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,4 +219,44 @@ class FlxSignalTest extends FlxTest
219219
Assert.isTrue(signal0.has(removePrevious));
220220
Assert.isFalse(signal0.has(callbackSetFlagTrue));
221221
}
222-
}
222+
223+
@Test // #3436
224+
function testRemoveAllDuringDispatch()
225+
{
226+
var timesCalled = 0;
227+
function onFire()
228+
{
229+
timesCalled++;
230+
signal0.removeAll();
231+
}
232+
233+
signal0.add(onFire);
234+
signal0.dispatch();
235+
236+
Assert.areEqual(1, timesCalled);
237+
Assert.isFalse(signal0.has(onFire));
238+
}
239+
240+
@Test // #3436
241+
function testDestroyDuringDispatch()
242+
{
243+
var timesCalled = 0;
244+
function onFire()
245+
{
246+
timesCalled++;
247+
signal0.destroy();
248+
}
249+
250+
signal0.add(onFire);
251+
signal0.dispatch();
252+
253+
Assert.areEqual(1, timesCalled);
254+
try
255+
{
256+
Assert.assertionCount++;
257+
signal0.has(onFire);
258+
Assert.fail("Expected signal0 to be destroyed");
259+
}
260+
catch (e){}
261+
}
262+
}

0 commit comments

Comments
 (0)