String.prototype.repeat.js 1023 B

12345678910111213141516171819202122232425262728293031323334353637
  1. load("test-common.js");
  2. try {
  3. assert(String.prototype.repeat.length === 1);
  4. try {
  5. "foo".repeat(-1);
  6. assertNotReached();
  7. } catch (e) {
  8. assert(e.name === "RangeError");
  9. assert(e.message === "repeat count must be a positive number");
  10. }
  11. try {
  12. "foo".repeat(Infinity);
  13. assertNotReached();
  14. } catch (e) {
  15. assert(e.name === "RangeError");
  16. assert(e.message === "repeat count must be a finite number");
  17. }
  18. assert("foo".repeat(0) === "");
  19. assert("foo".repeat(1) === "foo");
  20. assert("foo".repeat(2) === "foofoo");
  21. assert("foo".repeat(3) === "foofoofoo");
  22. assert("foo".repeat(3.1) === "foofoofoo");
  23. assert("foo".repeat(3.5) === "foofoofoo");
  24. assert("foo".repeat(3.9) === "foofoofoo");
  25. assert("foo".repeat(null) === "");
  26. assert("foo".repeat(undefined) === "");
  27. assert("foo".repeat([]) === "");
  28. assert("foo".repeat("") === "");
  29. console.log("PASS");
  30. } catch (e) {
  31. console.log("FAIL: " + e);
  32. }