PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/hphp/test/slow/collection_classes/migration/unserialize-pair.php

http://github.com/facebook/hiphop-php
PHP | 37 lines | 22 code | 9 blank | 6 comment | 7 complexity | dc130db5b6a4ebc6cccc72c23b504053 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?hh
  2. // Test that we can handle unserialization of Pairs with
  3. // and without namespaces.
  4. function main() {
  5. $p = Pair {1, 2};
  6. // unserialize o serialize == id
  7. var_dump(unserialize(serialize($p)) == $p);
  8. // Namespaced pair.
  9. $nsp = "V:7:\"HH\\Pair\":2:{i:1;i:2;}";
  10. var_dump(unserialize($nsp) == $p);
  11. // Nested namespaced pairs.
  12. $nested = "V:7:\"HH\\Pair\":2:{V:7:\"HH\\Pair\":2:{i:1;i:2;}" .
  13. "V:7:\"HH\\Pair\":2:{i:3;i:4;}}";
  14. var_dump(unserialize($nested) == Pair {Pair {1, 2}, Pair {3, 4}});
  15. // Unserialization is case-insensitive.
  16. $s1 = "V:7:\"hh\\pair\":2:{i:1;i:2;}";
  17. $s2 = "V:7:\"HH\\PaiR\":2:{i:1;i:2;}";
  18. $s3 = "V:4:\"pair\":2:{i:1;i:2;}";
  19. $s4 = "V:4:\"Pair\":2:{i:1;i:2;}";
  20. var_dump(unserialize($s1) == $p);
  21. var_dump(unserialize($s2) == $p);
  22. var_dump(unserialize($s3) == $p);
  23. var_dump(unserialize($s4) == $p);
  24. }
  25. <<__EntryPoint>>
  26. function main_unserialize_pair() {
  27. main();
  28. }