enum.test 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. Enum formatting preservation
  2. -----
  3. <?php
  4. enum X: int
  5. {}
  6. -----
  7. $stmts[0]->scalarType = null;
  8. -----
  9. <?php
  10. enum X
  11. {}
  12. -----
  13. <?php
  14. enum X {
  15. case
  16. Y = 1;
  17. }
  18. -----
  19. $stmts[0]->stmts[0]->expr = null;
  20. -----
  21. <?php
  22. enum X {
  23. case
  24. Y;
  25. }
  26. -----
  27. <?php
  28. enum X
  29. {}
  30. -----
  31. $stmts[0]->scalarType = new Node\Identifier('int');
  32. -----
  33. <?php
  34. enum X : int
  35. {}
  36. -----
  37. <?php
  38. enum X
  39. implements Y
  40. {}
  41. -----
  42. $stmts[0]->scalarType = new Node\Identifier('int');
  43. -----
  44. <?php
  45. enum X : int
  46. implements Y
  47. {}
  48. -----
  49. <?php
  50. enum X {
  51. case
  52. Y;
  53. }
  54. -----
  55. $stmts[0]->stmts[0]->expr = new Scalar\LNumber(1);
  56. -----
  57. <?php
  58. enum X {
  59. case
  60. Y = 1;
  61. }
  62. -----
  63. <?php
  64. enum X {
  65. case A;
  66. case B;
  67. }
  68. -----
  69. $stmts[0]->stmts[] = new Node\Stmt\EnumCase('C');
  70. -----
  71. <?php
  72. enum X {
  73. case A;
  74. case B;
  75. case C;
  76. }
  77. -----
  78. <?php
  79. enum X
  80. implements Y
  81. {}
  82. -----
  83. $stmts[0]->implements[] = new Node\Name('Z');
  84. -----
  85. <?php
  86. enum X
  87. implements Y, Z
  88. {}
  89. -----
  90. <?php
  91. enum X
  92. {}
  93. -----
  94. $stmts[0]->implements[] = new Node\Name('Y');
  95. -----
  96. <?php
  97. enum X implements Y
  98. {}