mirror of https://github.com/sveltejs/svelte
parent
1f9efeac54
commit
6d2ab63112
@ -0,0 +1,29 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2, num: 2</p>
|
||||||
|
`,
|
||||||
|
async test({ component, target, assert }) {
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2, num: 2</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
component.nums = [1, 2, 3];
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2,1,2,3,3, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2,0,2,4,3, num: 2</p>
|
||||||
|
<p>bar: -100,0,100,1,-100,0,100,2,-100,0,100,3, num: 3</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
<script>
|
||||||
|
export let nums = [1, 2];
|
||||||
|
let foos = [
|
||||||
|
{
|
||||||
|
nums: [1, 2, 3],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [0, 2, 4],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [-100, 0, 100],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
let foo = 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>{foo}</p>
|
||||||
|
{#each nums as num, index}
|
||||||
|
{@const bar = nums.map((num) => {
|
||||||
|
const func = (foos, num) => {
|
||||||
|
return [...foos.map((foo) => foo), num];
|
||||||
|
}
|
||||||
|
return func(foos[index].nums, num);
|
||||||
|
})}
|
||||||
|
<p>bar: {bar}, num: {num}</p>
|
||||||
|
{/each}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 1</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 2</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 3</p>
|
||||||
|
`,
|
||||||
|
async test({ component, target, assert }) {
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 1</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 2</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 3</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
component.nums = [1, 2, 3, 4];
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 1</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 2</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 3</p>
|
||||||
|
<p>bar: 1,2,3,0,2,4,-100,0,100, num: 4</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
<script>
|
||||||
|
export let nums = [1, 2, 3];
|
||||||
|
let foos = [
|
||||||
|
{
|
||||||
|
nums: [1, 2, 3],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [0, 2, 4],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [-100, 0, 100],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#each nums as num}
|
||||||
|
{@const bar = foos.map((foos) => foos.nums)}
|
||||||
|
<p>bar: {bar}, num: {num}</p>
|
||||||
|
{/each}
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>foo: dummy-foo, num: dummy-num</p>
|
||||||
|
<p>bar: 1,2,3,2,, num: 1</p>
|
||||||
|
<p>bar: 1,2,3,2,, num: 2</p>
|
||||||
|
<p>bar: 1,2,3,2,, num: 3</p>
|
||||||
|
`,
|
||||||
|
async test({ component, target, assert }) {
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>foo: dummy-foo, num: dummy-num</p>
|
||||||
|
<p>bar: 1,2,3,2,, num: 1</p>
|
||||||
|
<p>bar: 1,2,3,2,, num: 2</p>
|
||||||
|
<p>bar: 1,2,3,2,, num: 3</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
component.nums = [1, 2, 3, 4];
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>foo: dummy-foo, num: dummy-num</p>
|
||||||
|
<p>bar: 1,2,3,2,4,, num: 1</p>
|
||||||
|
<p>bar: 1,2,3,2,4,, num: 2</p>
|
||||||
|
<p>bar: 1,2,3,2,4,, num: 3</p>
|
||||||
|
<p>bar: 1,2,3,2,4,, num: 4</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
<script>
|
||||||
|
export let nums = [1, 2, 3];
|
||||||
|
let foos = [
|
||||||
|
{
|
||||||
|
nums: [1, 2, 3],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [0, 2, 4],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [-100, 0, 100],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
let default_nums = [-1];
|
||||||
|
let foo = "dummy-foo";
|
||||||
|
let num = "dummy-num";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>foo: {foo}, num: {num}</p>
|
||||||
|
{#each nums as num}
|
||||||
|
{@const bar = foos.map((foo) =>
|
||||||
|
foo.nums.filter((num) => {
|
||||||
|
if (Object.keys($$slots).length) {
|
||||||
|
return false;
|
||||||
|
} else if (Object.keys(foo).length) {
|
||||||
|
return nums.includes(num) || default_nums.includes(num);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}) || num
|
||||||
|
)}
|
||||||
|
<p>bar: {bar}, num: {num}</p>
|
||||||
|
{/each}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2, num: 2</p>
|
||||||
|
`,
|
||||||
|
async test({ component, target, assert }) {
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2, num: 2</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
component.nums = [1, 2, 3];
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2,1,2,3,3, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2,0,2,4,3, num: 2</p>
|
||||||
|
<p>bar: -100,0,100,1,-100,0,100,2,-100,0,100,3, num: 3</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
<script>
|
||||||
|
export let nums = [1, 2];
|
||||||
|
let foos = [
|
||||||
|
{
|
||||||
|
nums: [1, 2, 3],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [0, 2, 4],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [-100, 0, 100],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
let foo = 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>{foo}</p>
|
||||||
|
{#each nums as num, index}
|
||||||
|
{@const bar = nums.map((num) => {
|
||||||
|
return (function (foos, num) {
|
||||||
|
return [...foos.map((foo) => foo), num];
|
||||||
|
})(foos[index].nums, num);
|
||||||
|
})}
|
||||||
|
<p>bar: {bar}, num: {num}</p>
|
||||||
|
{/each}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
export default {
|
||||||
|
html: `
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2, num: 2</p>
|
||||||
|
`,
|
||||||
|
async test({ component, target, assert }) {
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2, num: 2</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
|
||||||
|
component.nums = [1, 2, 3];
|
||||||
|
|
||||||
|
assert.htmlEqual(
|
||||||
|
target.innerHTML,
|
||||||
|
`
|
||||||
|
<p>0</p>
|
||||||
|
<p>bar: 1,2,3,1,1,2,3,2,1,2,3,3, num: 1</p>
|
||||||
|
<p>bar: 0,2,4,1,0,2,4,2,0,2,4,3, num: 2</p>
|
||||||
|
<p>bar: -100,0,100,1,-100,0,100,2,-100,0,100,3, num: 3</p>
|
||||||
|
`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
<script>
|
||||||
|
export let nums = [1, 2];
|
||||||
|
let foos = [
|
||||||
|
{
|
||||||
|
nums: [1, 2, 3],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [0, 2, 4],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nums: [-100, 0, 100],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
let foo = 0;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>{foo}</p>
|
||||||
|
{#each nums as num, index}
|
||||||
|
{@const bar = nums.map((num) => {
|
||||||
|
function func(foos, num) {
|
||||||
|
return [...foos.map((foo) => foo), num];
|
||||||
|
}
|
||||||
|
return func(foos[index].nums, num);
|
||||||
|
})}
|
||||||
|
<p>bar: {bar}, num: {num}</p>
|
||||||
|
{/each}
|
||||||
Loading…
Reference in new issue