aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/test-utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/test-utils.ts')
-rw-r--r--packages/taler-wallet-webextension/src/test-utils.ts22
1 files changed, 17 insertions, 5 deletions
diff --git a/packages/taler-wallet-webextension/src/test-utils.ts b/packages/taler-wallet-webextension/src/test-utils.ts
index 28622bb85..2fe2c43bd 100644
--- a/packages/taler-wallet-webextension/src/test-utils.ts
+++ b/packages/taler-wallet-webextension/src/test-utils.ts
@@ -14,15 +14,27 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import { ComponentChildren, FunctionalComponent, h as render } from "preact";
+import { ComponentChildren, FunctionalComponent, h as render, VNode } from "preact";
export function createExample<Props>(
Component: FunctionalComponent<Props>,
props: Partial<Props>,
-) {
- const r = (args: any) => render(Component, args);
- r.args = props;
- return r;
+): ComponentChildren {
+ const Render = (args: any) => render(Component, args);
+ Render.args = props;
+ return Render;
+}
+
+export function createExampleWithCustomContext<Props, ContextProps>(
+ Component: FunctionalComponent<Props>,
+ props: Partial<Props>,
+ ContextProvider: FunctionalComponent<ContextProps>,
+ contextProps: Partial<ContextProps>,
+): ComponentChildren {
+ const Render = (args: any): VNode => render(Component, args);
+ const WithContext = (args: any): VNode => render(ContextProvider, { ...contextProps, children: [Render(args)] } as any);
+ WithContext.args = props
+ return WithContext
}
export function NullLink({ children }: { children?: ComponentChildren }) {