summaryrefslogtreecommitdiff
path: root/preact-router/test_helpers/assert-clone-of.js
diff options
context:
space:
mode:
Diffstat (limited to 'preact-router/test_helpers/assert-clone-of.js')
-rw-r--r--preact-router/test_helpers/assert-clone-of.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/preact-router/test_helpers/assert-clone-of.js b/preact-router/test_helpers/assert-clone-of.js
new file mode 100644
index 0000000..5a1a707
--- /dev/null
+++ b/preact-router/test_helpers/assert-clone-of.js
@@ -0,0 +1,12 @@
+import { cloneElement } from 'preact';
+
+export default function assertCloneOf({ Assertion }) {
+ if (Assertion.__assertCloneOfMounted === true) return;
+ Assertion.__assertCloneOfMounted = true;
+
+ Assertion.addMethod('cloneOf', function(routeJsx, { matches = {}, url = this._obj.props.path } = {}) {
+ const vnode = this._obj;
+ const clonedRoute = cloneElement(routeJsx, { url, matches, ...matches });
+ new chai.Assertion(vnode).to.be.eql(clonedRoute);
+ });
+}