bug62915-2.phpt 958 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Bug #62915: cloning of several classes is defective
  3. --EXTENSIONS--
  4. intl
  5. --SKIPIF--
  6. <?php
  7. if (!class_exists('Spoofchecker'))
  8. die('skip intl extension does not have spoof checker');
  9. --FILE--
  10. <?php
  11. class A extends IntlDateFormatter {
  12. static $ARGS = array("en_US" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
  13. 'America/Los_Angeles', IntlDateFormatter::GREGORIAN);
  14. }
  15. class B extends NumberFormatter {
  16. static $ARGS = array('de_DE', NumberFormatter::DECIMAL);
  17. }
  18. class C extends MessageFormatter {
  19. static $ARGS = array("en_US", "foo");
  20. }
  21. class D extends Spoofchecker {
  22. static $ARGS = array();
  23. }
  24. foreach (range('A', 'D') as $subclass) {
  25. $rc = new ReflectionClass($subclass);
  26. $obj = $rc->newInstanceArgs($subclass::$ARGS);
  27. $clone = clone $obj;
  28. var_dump(get_class($clone));
  29. }
  30. ?>
  31. --EXPECT--
  32. string(1) "A"
  33. string(1) "B"
  34. string(1) "C"
  35. string(1) "D"