fix annotateWithScopes and move test

pull/1542/head
Rich Harris 7 years ago
parent fa3a854c79
commit b9d1044957

@ -587,7 +587,9 @@ export default class Compiler {
const param = value.params[0]; const param = value.params[0];
if (param.type === 'ObjectPattern') { if (param.type === 'ObjectPattern') {
const deps = param.properties.map(prop => prop.key.name); const deps = param.properties.map(prop => {
return (prop.type === 'RestElement' ? prop.argument : prop.key).name;
});
deps.forEach(dep => { deps.forEach(dep => {
this.expectedProperties.add(dep); this.expectedProperties.add(dep);

@ -137,7 +137,11 @@ const extractors = {
ObjectPattern(names: string[], param: Node) { ObjectPattern(names: string[], param: Node) {
param.properties.forEach((prop: Node) => { param.properties.forEach((prop: Node) => {
extractors[prop.value.type](names, prop.value); if (prop.type === 'RestElement') {
names.push(prop.argument.name);
} else {
extractors[prop.value.type](names, prop.value);
}
}); });
}, },

@ -1,13 +0,0 @@
<h1>Hello {name}!</h1>
<script>
export default {
data: () => ({
name: 'world',
foo: 'bar'
}),
computed: {
comp: ({ name, ...rest }) => rest
}
};
</script>

@ -0,0 +1,25 @@
export default {
html: `
<pre>{"wanted":2}</pre>
`,
test(assert, component, target) {
component.set({
unwanted: 3,
wanted: 4
});
// assert.htmlEqual(target.innerHTML, `
// <pre>{"wanted":4}</pre>
// `);
component.set({
unwanted: 5,
wanted: 6
});
assert.htmlEqual(target.innerHTML, `
<pre>{"wanted":6}</pre>
`);
}
};

@ -0,0 +1,18 @@
<pre>{JSON.stringify(props)}</pre>
<script>
export default {
data: () => ({
unwanted: 1,
wanted: 2
}),
helpers: {
JSON
},
computed: {
props: ({ unwanted, props, ...wanted }) => wanted
}
};
</script>
Loading…
Cancel
Save