From 392a4fd9da8ff45f8cd050a17d4a01d89fc0c25f Mon Sep 17 00:00:00 2001 From: Sathya Gunasekaran Date: Wed, 15 Nov 2023 17:03:51 +0000 Subject: [PATCH] [test] Add tests for mutating a global The error is thrown correctly but the error message is incorrect. --- ...rror.mutate-property-from-global.expect.md | 21 +++++++++++++++++++ .../error.mutate-property-from-global.js | 6 ++++++ .../error.store-property-in-global.expect.md | 21 +++++++++++++++++++ .../error.store-property-in-global.js | 6 ++++++ 4 files changed, 54 insertions(+) create mode 100644 compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.expect.md create mode 100644 compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.js create mode 100644 compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.expect.md create mode 100644 compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.js diff --git a/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.expect.md b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.expect.md new file mode 100644 index 0000000000..87f0c65a86 --- /dev/null +++ b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.expect.md @@ -0,0 +1,21 @@ + +## Input + +```javascript +let wat = {}; + +function Foo() { + delete wat.foo; + return wat; +} + +``` + + +## Error + +``` +[ReactForget] InvalidReact: This mutates a variable after it was passed to React, which means that React cannot observe changes to it (4:4) +``` + + \ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.js b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.js new file mode 100644 index 0000000000..54b42a607d --- /dev/null +++ b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.mutate-property-from-global.js @@ -0,0 +1,6 @@ +let wat = {}; + +function Foo() { + delete wat.foo; + return wat; +} diff --git a/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.expect.md b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.expect.md new file mode 100644 index 0000000000..9e08cb67b7 --- /dev/null +++ b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.expect.md @@ -0,0 +1,21 @@ + +## Input + +```javascript +let wat = {}; + +function Foo() { + wat.test = 1; + return wat; +} + +``` + + +## Error + +``` +[ReactForget] InvalidReact: This mutates a variable after it was passed to React, which means that React cannot observe changes to it (4:4) +``` + + \ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.js b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.js new file mode 100644 index 0000000000..a210cd702b --- /dev/null +++ b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.store-property-in-global.js @@ -0,0 +1,6 @@ +let wat = {}; + +function Foo() { + wat.test = 1; + return wat; +}