aboutsummaryrefslogtreecommitdiff
path: root/test/snippets/react-context-value-func.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'test/snippets/react-context-value-func.tsx')
-rw-r--r--test/snippets/react-context-value-func.tsx34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/snippets/react-context-value-func.tsx b/test/snippets/react-context-value-func.tsx
new file mode 100644
index 000000000..5f38a5d1c
--- /dev/null
+++ b/test/snippets/react-context-value-func.tsx
@@ -0,0 +1,34 @@
+import React from "react";
+
+const Context = React.createContext({});
+
+const ContextProvider = ({ children }) => {
+ const [cb, setCB] = React.useState(function () {});
+ const foo = true;
+
+ return <Context.Provider value={cb}>{children(foo)}</Context.Provider>;
+};
+
+const ContextValue = ({}) => (
+ <Context.Consumer>
+ {(foo) => {
+ if (foo) {
+ return <div>Worked!</div>;
+ }
+
+ throw `Value "${foo}"" should be true`;
+ }}
+ </Context.Consumer>
+);
+
+const TestComponent = () => (
+ <ContextProvider>
+ <ContextValue />
+ </ContextProvider>
+);
+
+export function test() {
+ const foo = <TestComponent />;
+
+ return testDone(import.meta.url);
+}