mirror of https://github.com/sveltejs/svelte
parent
9ad416be94
commit
5dd703fe81
@ -0,0 +1,8 @@
|
||||
<script>
|
||||
export let log;
|
||||
export let b;
|
||||
function innerCall(a) {
|
||||
log(`a: ${a}, b: ${b}`);
|
||||
}
|
||||
</script>
|
||||
<slot name="inner_slot" {innerCall} />
|
@ -0,0 +1,12 @@
|
||||
<script>
|
||||
import Inner from './Inner.svelte'
|
||||
export let log;
|
||||
export let a;
|
||||
export let b;
|
||||
</script>
|
||||
|
||||
<Inner {log} {b}>
|
||||
<svelte:fragment let:innerCall slot="inner_slot">
|
||||
<slot outerCall={() => innerCall(a)} />
|
||||
</svelte:fragment>
|
||||
</Inner>
|
@ -0,0 +1,27 @@
|
||||
let logs;
|
||||
function log(value) {
|
||||
logs.push(value);
|
||||
}
|
||||
|
||||
export default {
|
||||
html: '<button>click me</button>',
|
||||
props: {
|
||||
a: 'a',
|
||||
b: 'b',
|
||||
log
|
||||
},
|
||||
before_test() {
|
||||
logs = [];
|
||||
},
|
||||
async test({ assert, component, target, window }) {
|
||||
const button = target.querySelector('button');
|
||||
await button.dispatchEvent(new window.MouseEvent('click'));
|
||||
|
||||
assert.deepEqual(logs, ['a: a, b: b']);
|
||||
|
||||
component.a = '1';
|
||||
component.b = '2';
|
||||
await button.dispatchEvent(new window.MouseEvent('click'));
|
||||
assert.deepEqual(logs, ['a: a, b: b', 'a: 1, b: 2']);
|
||||
}
|
||||
};
|
@ -0,0 +1,12 @@
|
||||
<script>
|
||||
import Outer from "./Outer.svelte";
|
||||
export let log = [];
|
||||
export let a;
|
||||
export let b;
|
||||
</script>
|
||||
|
||||
<Outer let:outerCall {log} {a} {b}>
|
||||
<button on:click={outerCall}>
|
||||
click me
|
||||
</button>
|
||||
</Outer>
|
Loading…
Reference in new issue