xref: /PHP-8.1/Zend/tests/enum/internal_enums.phpt (revision 93fc88e8)
1--TEST--
2Internal enums
3--EXTENSIONS--
4zend_test
5--FILE--
6<?php
7
8var_dump($bar = ZendTestUnitEnum::Bar);
9var_dump($bar === ZendTestUnitEnum::Bar);
10var_dump($bar instanceof UnitEnum);
11
12var_dump($foo = zend_get_unit_enum());
13var_dump($foo === ZendTestUnitEnum::Foo);
14
15var_dump(ZendTestUnitEnum::cases());
16echo "\n";
17
18var_dump($foo = ZendTestStringEnum::Foo);
19var_dump($foo instanceof BackedEnum);
20var_dump(ZendTestStringEnum::Foo->value);
21var_dump($bar = ZendTestStringEnum::from("Test2"));
22var_dump($bar === ZendTestStringEnum::Bar);
23var_dump(ZendTestStringEnum::tryFrom("Test3"));
24var_dump(ZendTestStringEnum::tryFrom(42));
25var_dump(ZendTestStringEnum::tryFrom(43));
26var_dump(ZendTestStringEnum::tryFrom(0));
27var_dump(ZendTestStringEnum::cases());
28
29var_dump($s = serialize($foo));
30var_dump(unserialize($s));
31var_dump(unserialize($s) === $foo);
32
33?>
34--EXPECT--
35enum(ZendTestUnitEnum::Bar)
36bool(true)
37bool(true)
38enum(ZendTestUnitEnum::Foo)
39bool(true)
40array(2) {
41  [0]=>
42  enum(ZendTestUnitEnum::Foo)
43  [1]=>
44  enum(ZendTestUnitEnum::Bar)
45}
46
47enum(ZendTestStringEnum::Foo)
48bool(true)
49string(5) "Test1"
50enum(ZendTestStringEnum::Bar)
51bool(true)
52NULL
53enum(ZendTestStringEnum::FortyTwo)
54NULL
55NULL
56array(4) {
57  [0]=>
58  enum(ZendTestStringEnum::Foo)
59  [1]=>
60  enum(ZendTestStringEnum::Bar)
61  [2]=>
62  enum(ZendTestStringEnum::Baz)
63  [3]=>
64  enum(ZendTestStringEnum::FortyTwo)
65}
66string(30) "E:22:"ZendTestStringEnum:Foo";"
67enum(ZendTestStringEnum::Foo)
68bool(true)
69