1--TEST--
2Test variations of getting constant values
3--FILE--
4<?php
5
6/* Use separate classes to make sure that in-place constant updates don't interfere */
7class A {
8    const X = self::Y * 2;
9    const Y = 1;
10}
11class B {
12    const X = self::Y * 2;
13    const Y = 1;
14}
15class C {
16    const X = self::Y * 2;
17    const Y = 1;
18}
19
20var_dump((new ReflectionClassConstant('A', 'X'))->getValue());
21echo new ReflectionClassConstant('B', 'X');
22echo new ReflectionClass('C');
23
24?>
25--EXPECTF--
26int(2)
27Constant [ public integer X ] { 2 }
28Class [ <user> class C ] {
29  @@ %s 12-15
30
31  - Constants [2] {
32    Constant [ public integer X ] { 2 }
33    Constant [ public integer Y ] { 1 }
34  }
35
36  - Static properties [0] {
37  }
38
39  - Static methods [0] {
40  }
41
42  - Properties [0] {
43  }
44
45  - Methods [0] {
46  }
47}
48