mirror of https://github.com/sveltejs/svelte
parent
23167da0dd
commit
1e2f29bf4e
@ -1,4 +0,0 @@
|
|||||||
export function snip(expression) {
|
|
||||||
throw new Error(`snip bad`);
|
|
||||||
return `[✂${expression.node.start}-${expression.node.end}✂]`;
|
|
||||||
}
|
|
@ -1,20 +1,52 @@
|
|||||||
export default {
|
export default {
|
||||||
html: `<div>foo</div><div>bar</div><div>baz</div>`,
|
props: {
|
||||||
|
state: 'deconflicted',
|
||||||
|
states: [
|
||||||
|
'Alabama',
|
||||||
|
'Alaska',
|
||||||
|
'Arizona',
|
||||||
|
'Arkansas',
|
||||||
|
'...and some others'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
html: `
|
||||||
|
<p>Current state: deconflicted</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Alabama</li>
|
||||||
|
<li>Alaska</li>
|
||||||
|
<li>Arizona</li>
|
||||||
|
<li>Arkansas</li>
|
||||||
|
<li>...and some others</li>
|
||||||
|
</ul>
|
||||||
|
`,
|
||||||
|
|
||||||
test({ assert, component, target }) {
|
test({ assert, component, target }) {
|
||||||
let elems = target.querySelectorAll('div');
|
component.states = [
|
||||||
assert.equal(component.divs.length, 3, 'three divs are registered (unkeyed array)');
|
'Maine',
|
||||||
component.divs.forEach((e, i) => {
|
'Maryland',
|
||||||
assert.equal(e, elems[i], `div ${i} is correct (unkeyed array)`);
|
'Massachusetts',
|
||||||
});
|
'Michigan',
|
||||||
|
'Minnesota',
|
||||||
|
'Mississippi',
|
||||||
|
'Missouri',
|
||||||
|
'Montana'
|
||||||
|
];
|
||||||
|
|
||||||
component.items = ['foo', 'baz'];
|
assert.htmlEqual( target.innerHTML, `
|
||||||
assert.equal(component.divs.length, 3, 'the divs array is still 3 long');
|
<p>Current state: deconflicted</p>
|
||||||
assert.equal(component.divs[2], null, 'the last div is unregistered');
|
|
||||||
|
|
||||||
elems = target.querySelectorAll('div');
|
<ul>
|
||||||
component.divs.forEach((e, i) => {
|
<li>Maine</li>
|
||||||
assert.equal(e, elems[i], `div ${i} is still correct`);
|
<li>Maryland</li>
|
||||||
});
|
<li>Massachusetts</li>
|
||||||
|
<li>Michigan</li>
|
||||||
|
<li>Minnesota</li>
|
||||||
|
<li>Mississippi</li>
|
||||||
|
<li>Missouri</li>
|
||||||
|
<li>Montana</li>
|
||||||
|
</ul>
|
||||||
|
` );
|
||||||
}
|
}
|
||||||
};
|
};
|
@ -1,8 +1,12 @@
|
|||||||
<script>
|
<script>
|
||||||
export let items = ['foo', 'bar', 'baz'];
|
export let state;
|
||||||
export let divs = [];
|
export let states;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#each items as item, j}
|
<p>Current state: {state}</p>
|
||||||
<div bind:this={divs[j]}>{item}</div>
|
|
||||||
|
<ul>
|
||||||
|
{#each states as state}
|
||||||
|
<li>{state}</li>
|
||||||
{/each}
|
{/each}
|
||||||
|
</ul>
|
Loading…
Reference in new issue