use-strict-directive.js 1.2 KB

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