You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.7 KiB

  1. var myhash = null;
  2. tests.set('hash', H({
  3. creation: function()
  4. {
  5. object = {test: 'prout'};
  6. myhash = H(object);
  7. equals(myhash.container, object);
  8. myhash = new Hash();
  9. different(myhash, null);
  10. },
  11. ishash: function()
  12. {
  13. var obj = new Array();
  14. assert(isHash(myhash));
  15. nassert(isHash(obj));
  16. },
  17. get: function()
  18. {
  19. hash = H({toto: "tata", prout: "tagada"});
  20. equals(hash.get("toto"), "tata");
  21. },
  22. set: function()
  23. {
  24. myhash.set("toto", "tata");
  25. myhash.set("prout", "tagada");
  26. equals(myhash.get("toto"), "tata");
  27. equals(myhash.get("prout"), "tagada");
  28. myhash.set("toto", "tigidi");
  29. equals(myhash.get("toto"), "tigidi");
  30. },
  31. tostring: function()
  32. {
  33. var hash = H({toto: "tata", prout: "tagada"});
  34. equals(hash.to_string(), 'toto: tata, prout: tagada');
  35. },
  36. change: function()
  37. {
  38. myhash.set('prout', 'tigidi');
  39. equals(myhash.get('prout'), 'tigidi');
  40. },
  41. iterate: function()
  42. {
  43. var iter = myhash.iterate();
  44. while(iter.next()) {
  45. equals(iter.val(), myhash.get(iter.key()))
  46. }
  47. iter.end();
  48. while(iter.prev()) {
  49. equals(iter.val(), myhash.get(iter.key()))
  50. }
  51. },
  52. keys: function()
  53. {
  54. hash = H({toto: "tata", prout: "tagada"});
  55. keys = new Array('toto', 'prout');
  56. vals = new Array('tata', 'tagada');
  57. hashkeys = hash.keys();
  58. hashvals = hash.values();
  59. assert(keys[0] == hashkeys[0] && keys[1] == hashkeys[1]);
  60. assert(vals[0] == hashvals[0] && vals[1] == hashvals[1]);
  61. },
  62. }));