[FIX] props validation: does not crash with t-call-context

The code for props validation assumed that the rendering context was a
component.  This was actually true when it was written, but is no longer
true since t-call-context was introduced.

Because of that, it would crash when trying to access the internals of
the component, such as the static components object.

The fix is simple: instead of passing the context to the props
validation code, which can now be anything, we pass the component node,
which is guaranteed to give a reference to the component (and also to
the app).  This also make the code slightly simpler.

closes #1261
This commit is contained in:
Géry Debongnie
2022-09-24 07:54:25 +02:00
committed by Sam Degueldre
parent c4f0f17b9b
commit d5ed25cd19
9 changed files with 151 additions and 78 deletions
@@ -704,7 +704,7 @@ exports[`lifecycle hooks timeout in onWillUpdateProps emits a warning 1`] = `
return function template(ctx, node, key = \\"\\") {
const props1 = {prop: ctx['state'].prop};
helpers.validateProps(\`Child\`, props1, ctx);
helpers.validateProps(\`Child\`, props1, node);
return comp1(props1, key + \`__1\`, node, this, null);
}
}"