use-strict-directive.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. test("valid 'use strict; directive", () => {
  2. expect(
  3. (() => {
  4. "use strict";
  5. return isStrictMode();
  6. })()
  7. ).toBeTrue();
  8. expect(
  9. (() => {
  10. 'use strict';
  11. return isStrictMode();
  12. })()
  13. ).toBeTrue();
  14. });
  15. test("invalid 'use strict; directive", () => {
  16. expect(
  17. (() => {
  18. " use strict ";
  19. return isStrictMode();
  20. })()
  21. ).toBeFalse();
  22. expect(
  23. (() => {
  24. `use strict`;
  25. return isStrictMode();
  26. })()
  27. ).toBeFalse();
  28. expect(
  29. (() => {
  30. "use\
  31. strict";
  32. return isStrictMode();
  33. })()
  34. ).toBeFalse();
  35. expect(
  36. (() => {
  37. "use\ strict";
  38. return isStrictMode();
  39. })()
  40. ).toBeFalse();
  41. expect(
  42. (() => {
  43. "use \163trict";
  44. return isStrictMode();
  45. })()
  46. ).toBeFalse();
  47. expect(
  48. (() => {
  49. `"use strict"`;
  50. return isStrictMode();
  51. })()
  52. ).toBeFalse();
  53. expect(
  54. (() => {
  55. "use strict" + 1;
  56. return isStrictMode();
  57. })()
  58. ).toBeFalse();
  59. });