public function defer_dispose()
{
$invoked = 0;
$xs = null;
$results = $this->scheduler->startWithCreate(function () use(&$invoked, &$xs) {
return Observable::defer(function () use(&$invoked, &$xs) {
$invoked++;
$xs = $this->createColdObservable([onNext(100, $this->scheduler->getClock()), onNext(200, $invoked), onNext(1100, 1000)]);
return $xs;
});
});
$this->assertMessages([onNext(300, 200), onNext(400, 1)], $results->getMessages());
$this->assertEquals(1, $invoked);
$this->assertSubscriptions([subscribe(200, 1000)], $xs->getSubscriptions());
}