String.raw.js 839 B

1234567891011121314151617181920212223242526272829303132333435
  1. load("test-common.js")
  2. try {
  3. let str = String.raw`foo\nbar`;
  4. assert(str.length === 8 && str === "foo\\nbar");
  5. str = String.raw`foo ${1 + 9}\nbar${"hf!"}`;
  6. assert(str === "foo 10\\nbarhf!");
  7. str = String.raw`${10}${20}${30}`;
  8. assert(str === "102030");
  9. str = String.raw({ raw: ["foo ", "\\nbar"] }, 10, "hf!");
  10. assert(str === "foo 10\\nbar");
  11. str = String.raw({ raw: ["foo ", "\\nbar"] });
  12. assert(str === "foo \\nbar");
  13. str = String.raw({ raw: [] }, 10, "hf!");
  14. assert(str === "");
  15. str = String.raw({ raw: 1 });
  16. assert(str === "");
  17. assertThrowsError(() => {
  18. String.raw({});
  19. }, {
  20. error: TypeError,
  21. message: "Cannot convert property 'raw' to object from undefined",
  22. });
  23. console.log("PASS");
  24. } catch (e) {
  25. console.log("FAIL: " + e);
  26. }