iterable_or_null.phpt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. --TEST--
  2. Test Z_PARAM_ITERABLE() and Z_PARAM_ITERABLE_OR_NULL
  3. --EXTENSIONS--
  4. zend_test
  5. --FILE--
  6. <?php
  7. try {
  8. var_dump(zend_iterable("string"));
  9. } catch (TypeError $exception) {
  10. echo $exception->getMessage() . "\n";
  11. }
  12. try {
  13. var_dump(zend_iterable(1));
  14. } catch (TypeError $exception) {
  15. echo $exception->getMessage() . "\n";
  16. }
  17. try {
  18. var_dump(zend_iterable(null));
  19. } catch (TypeError $exception) {
  20. echo $exception->getMessage() . "\n";
  21. }
  22. zend_iterable([]);
  23. zend_iterable([], []);
  24. $iterator = new ArrayIterator([]);
  25. zend_iterable($iterator);
  26. zend_iterable($iterator, $iterator);
  27. zend_iterable($iterator, null);
  28. try {
  29. var_dump(zend_iterable([], "string"));
  30. } catch (TypeError $exception) {
  31. echo $exception->getMessage() . "\n";
  32. }
  33. ?>
  34. --EXPECT--
  35. zend_iterable(): Argument #1 ($arg1) must be of type iterable, string given
  36. zend_iterable(): Argument #1 ($arg1) must be of type iterable, int given
  37. zend_iterable(): Argument #1 ($arg1) must be of type iterable, null given
  38. zend_iterable(): Argument #2 ($arg2) must be of type ?iterable, string given