PageRenderTime 47ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

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

http://github.com/facebook/hiphop-php
PHP | 38 lines | 23 code | 9 blank | 6 comment | 8 complexity | 7c57ef59c89781e2461700cdb8752ab1 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 Sets with
  3. // and without namespaces.
  4. function main() {
  5. $set = Set {1, 2, 3};
  6. // unserialize o serialize == id
  7. var_dump(unserialize(serialize($set)) == $set);
  8. // Namespaced Set.
  9. $nsset = "V:6:\"HH\\Set\":3:{i:1;i:2;i:3;}";
  10. var_dump(unserialize($nsset) == $set);
  11. // O format
  12. $o1 = "O:3:\"Set\":0:{}";
  13. $o2 = "O:6:\"HH\\Set\":0:{}";
  14. var_dump(unserialize($o1) == Set {});
  15. var_dump(unserialize($o2) == Set {});
  16. // Unserialization is case-insensitive.
  17. $s1 = "V:6:\"hh\\set\":3:{i:1;i:2;i:3;}";
  18. $s2 = "V:6:\"HH\\SeT\":3:{i:1;i:2;i:3;}";
  19. $s3 = "V:3:\"set\":3:{i:1;i:2;i:3;}";
  20. $s4 = "V:3:\"Set\":3:{i:1;i:2;i:3;}";
  21. var_dump(unserialize($s1) == $set);
  22. var_dump(unserialize($s2) == $set);
  23. var_dump(unserialize($s3) == $set);
  24. var_dump(unserialize($s4) == $set);
  25. }
  26. <<__EntryPoint>>
  27. function main_unserialize_set() {
  28. main();
  29. }