037.phpt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. --TEST--
  2. Test match jumptable with only one arm
  3. --FILE--
  4. <?php
  5. try {
  6. var_dump(match(true) {
  7. 1, 2, 3, 4, 5 => 'foo',
  8. });
  9. } catch (Error $e) {
  10. var_dump((string) $e);
  11. }
  12. try {
  13. var_dump(match(6) {
  14. 1, 2, 3, 4, 5 => 'foo',
  15. });
  16. } catch (Error $e) {
  17. var_dump((string) $e);
  18. }
  19. try {
  20. var_dump(match('3') {
  21. 1, 2, 3, 4, 5 => 'foo',
  22. });
  23. } catch (Error $e) {
  24. var_dump((string) $e);
  25. }
  26. var_dump(match(3) {
  27. 1, 2, 3, 4, 5 => 'foo',
  28. });
  29. var_dump(match(true) {
  30. 1, 2, 3, 4, 5 => 'foo',
  31. default => 'bar',
  32. });
  33. var_dump(match(6) {
  34. 1, 2, 3, 4, 5 => 'foo',
  35. default => 'bar',
  36. });
  37. var_dump(match('3') {
  38. 1, 2, 3, 4, 5 => 'foo',
  39. default => 'bar',
  40. });
  41. var_dump(match(3) {
  42. 1, 2, 3, 4, 5 => 'foo',
  43. default => 'bar',
  44. });
  45. ?>
  46. --EXPECTF--
  47. string(%d) "UnhandledMatchError: Unhandled match case true in %s:%d
  48. Stack trace:
  49. #0 {main}"
  50. string(%d) "UnhandledMatchError: Unhandled match case 6 in %s:%d
  51. Stack trace:
  52. #0 {main}"
  53. string(%d) "UnhandledMatchError: Unhandled match case '3' in %s:%d
  54. Stack trace:
  55. #0 {main}"
  56. string(3) "foo"
  57. string(3) "bar"
  58. string(3) "bar"
  59. string(3) "bar"
  60. string(3) "foo"