/js/src/jit-test/tests/jaeger/testSetElem-Easy.js

http://github.com/zpao/v8monkey · JavaScript · 41 lines · 35 code · 5 blank · 1 comment · 1 complexity · b2a43db4164abe6c3af87d16139d5775 MD5 · raw file

  1. // vim: set ts=4 sw=4 tw=99 et:
  2. function testBadSetElems(obj, key) {
  3. obj[key] = 5;
  4. obj[-1] = 5;
  5. var L = obj;
  6. L[L] = L;
  7. obj = [];
  8. obj.K = 5;
  9. obj[2] = 5;
  10. var T = "a";
  11. obj[T] = 12;
  12. obj = [];
  13. obj[Object] = key;
  14. }
  15. function testDenseSets(L) {
  16. var obj = [,,,,,,,,,,];
  17. obj[2] = 2;
  18. assertEq(obj[2], 2);
  19. var T = L;
  20. assertEq(obj[T], 2);
  21. assertEq(obj.length, 10);
  22. obj[10] = T;
  23. assertEq(obj[10], T);
  24. assertEq(obj.length, 11);
  25. var K = T + 9;
  26. obj[K] = K;
  27. assertEq(obj[K], K);
  28. assertEq(obj.length, 12);
  29. obj[K + 1] = obj;
  30. assertEq(obj[K + 1], obj);
  31. assertEq(obj.length, 13);
  32. }
  33. for (var i = 0; i < 10; i++) {
  34. testBadSetElems([], -1);
  35. testDenseSets(2);
  36. }