xref: /ext-fiber/tests/fiber-status.phpt (revision b5d6a96a)
1--TEST--
2Fiber status methods
3--EXTENSIONS--
4fiber
5--FILE--
6<?php
7
8$fiber = new Fiber(function (): void {
9    $fiber = Fiber::getCurrent();
10    echo "\nWithin Fiber:\n";
11    var_dump($fiber->isStarted());
12    var_dump($fiber->isRunning());
13    var_dump($fiber->isSuspended());
14    var_dump($fiber->isTerminated());
15    Fiber::suspend();
16});
17
18echo "\nBefore Start:\n";
19var_dump($fiber->isStarted());
20var_dump($fiber->isRunning());
21var_dump($fiber->isSuspended());
22var_dump($fiber->isTerminated());
23
24$fiber->start();
25
26echo "\nAfter Start:\n";
27var_dump($fiber->isStarted());
28var_dump($fiber->isRunning());
29var_dump($fiber->isSuspended());
30var_dump($fiber->isTerminated());
31
32$fiber->resume();
33
34echo "\nAfter Resume:\n";
35var_dump($fiber->isStarted());
36var_dump($fiber->isRunning());
37var_dump($fiber->isSuspended());
38var_dump($fiber->isTerminated());
39
40?>
41--EXPECT--
42Before Start:
43bool(false)
44bool(false)
45bool(false)
46bool(false)
47
48Within Fiber:
49bool(true)
50bool(true)
51bool(false)
52bool(false)
53
54After Start:
55bool(true)
56bool(false)
57bool(true)
58bool(false)
59
60After Resume:
61bool(true)
62bool(false)
63bool(false)
64bool(true)
65