Rx\Functional\React\PromiseToObservableTest::observable_dispose_after_complete PHP Метод

observable_dispose_after_complete() публичный Метод

    public function observable_dispose_after_complete()
    {
        $canceled = false;
        $deferred = new Deferred(function () use(&$canceled) {
            $canceled = true;
        });
        $o = Promise::toObservable($deferred->promise());
        $this->scheduler->schedule(function () use($deferred) {
            $deferred->resolve(1);
        }, 200);
        $results = new MockObserver($this->scheduler);
        $s = $o->subscribe($results, $this->scheduler);
        $this->scheduler->schedule(function () use($s) {
            $s->dispose();
        }, 250);
        $this->scheduler->start();
        $this->assertMessages([onNext(200, 1), onCompleted(200)], $results->getMessages());
        $this->assertFalse($canceled);
    }