mirror of https://github.com/sveltejs/svelte
Merge pull request #4078 from sveltejs/bitmask-overflow-slot
Handle slot updates where parent component has many variablespull/4085/head
commit
1f8472262f
@ -0,0 +1,5 @@
|
||||
<script>
|
||||
export let dummy;
|
||||
</script>
|
||||
|
||||
<slot dummy={dummy}></slot>
|
@ -0,0 +1,124 @@
|
||||
export default {
|
||||
html: `
|
||||
<p>0</p>
|
||||
<p>1</p>
|
||||
<p>2</p>
|
||||
<p>3</p>
|
||||
<p>4</p>
|
||||
<p>5</p>
|
||||
<p>6</p>
|
||||
<p>7</p>
|
||||
<p>8</p>
|
||||
<p>9</p>
|
||||
<p>10</p>
|
||||
<p>11</p>
|
||||
<p>12</p>
|
||||
<p>13</p>
|
||||
<p>14</p>
|
||||
<p>15</p>
|
||||
<p>16</p>
|
||||
<p>17</p>
|
||||
<p>18</p>
|
||||
<p>19</p>
|
||||
<p>20</p>
|
||||
<p>21</p>
|
||||
<p>22</p>
|
||||
<p>23</p>
|
||||
<p>24</p>
|
||||
<p>25</p>
|
||||
<p>26</p>
|
||||
<p>27</p>
|
||||
<p>28</p>
|
||||
<p>29</p>
|
||||
<p>30</p>
|
||||
<p>31</p>
|
||||
<p>32</p>
|
||||
<p>33</p>
|
||||
<p>34</p>
|
||||
<p>35</p>
|
||||
<p>36</p>
|
||||
<p>37</p>
|
||||
<p>38</p>
|
||||
<p>39</p>
|
||||
<p>40</p>
|
||||
<p>5:36</p>
|
||||
<p>6:37</p>
|
||||
<p>38</p>
|
||||
<p>0</p>
|
||||
`,
|
||||
|
||||
test({ assert, component, target }) {
|
||||
component.reads = {};
|
||||
|
||||
component._0 = 'a';
|
||||
component._30 = 'b';
|
||||
component._31 = 'c';
|
||||
component._32 = 'd';
|
||||
component._40 = 'e';
|
||||
|
||||
component._5 = 'f';
|
||||
component._6 = 'g';
|
||||
component._36 = 'h';
|
||||
component._37 = 'i';
|
||||
|
||||
assert.htmlEqual(target.innerHTML, `
|
||||
<p>a</p>
|
||||
<p>1</p>
|
||||
<p>2</p>
|
||||
<p>3</p>
|
||||
<p>4</p>
|
||||
<p>f</p>
|
||||
<p>g</p>
|
||||
<p>7</p>
|
||||
<p>8</p>
|
||||
<p>9</p>
|
||||
<p>10</p>
|
||||
<p>11</p>
|
||||
<p>12</p>
|
||||
<p>13</p>
|
||||
<p>14</p>
|
||||
<p>15</p>
|
||||
<p>16</p>
|
||||
<p>17</p>
|
||||
<p>18</p>
|
||||
<p>19</p>
|
||||
<p>20</p>
|
||||
<p>21</p>
|
||||
<p>22</p>
|
||||
<p>23</p>
|
||||
<p>24</p>
|
||||
<p>25</p>
|
||||
<p>26</p>
|
||||
<p>27</p>
|
||||
<p>28</p>
|
||||
<p>29</p>
|
||||
<p>b</p>
|
||||
<p>c</p>
|
||||
<p>d</p>
|
||||
<p>33</p>
|
||||
<p>34</p>
|
||||
<p>35</p>
|
||||
<p>h</p>
|
||||
<p>i</p>
|
||||
<p>38</p>
|
||||
<p>39</p>
|
||||
<p>e</p>
|
||||
<p>f:h</p>
|
||||
<p>g:i</p>
|
||||
<p>38</p>
|
||||
<p>a</p>
|
||||
`);
|
||||
|
||||
assert.deepEqual(component.reads, {
|
||||
_0: 1,
|
||||
_5: 3,
|
||||
_6: 3,
|
||||
_30: 1,
|
||||
_31: 1,
|
||||
_32: 1,
|
||||
_36: 3,
|
||||
_37: 3,
|
||||
_40: 1
|
||||
});
|
||||
}
|
||||
};
|
@ -0,0 +1,107 @@
|
||||
<script>
|
||||
import Echo from './Echo.svelte';
|
||||
|
||||
export let reads = {};
|
||||
|
||||
export let _0 = '0';
|
||||
export let _1 = '1';
|
||||
export let _2 = '2';
|
||||
export let _3 = '3';
|
||||
export let _4 = '4';
|
||||
export let _5 = '5';
|
||||
export let _6 = '6';
|
||||
export let _7 = '7';
|
||||
export let _8 = '8';
|
||||
export let _9 = '9';
|
||||
export let _10 = '10';
|
||||
export let _11 = '11';
|
||||
export let _12 = '12';
|
||||
export let _13 = '13';
|
||||
export let _14 = '14';
|
||||
export let _15 = '15';
|
||||
export let _16 = '16';
|
||||
export let _17 = '17';
|
||||
export let _18 = '18';
|
||||
export let _19 = '19';
|
||||
export let _20 = '20';
|
||||
export let _21 = '21';
|
||||
export let _22 = '22';
|
||||
export let _23 = '23';
|
||||
export let _24 = '24';
|
||||
export let _25 = '25';
|
||||
export let _26 = '26';
|
||||
export let _27 = '27';
|
||||
export let _28 = '28';
|
||||
export let _29 = '29';
|
||||
export let _30 = '30';
|
||||
export let _31 = '31';
|
||||
export let _32 = '32';
|
||||
export let _33 = '33';
|
||||
export let _34 = '34';
|
||||
export let _35 = '35';
|
||||
export let _36 = '36';
|
||||
export let _37 = '37';
|
||||
export let _38 = '38';
|
||||
export let _39 = '39';
|
||||
export let _40 = '40';
|
||||
|
||||
$: foo = read(_6, '_6') + ':' + read(_37, '_37');
|
||||
$: bar = read(_38, '_38');
|
||||
|
||||
const read = (value, label) => {
|
||||
if (!reads[label]) reads[label] = 0;
|
||||
reads[label] += 1;
|
||||
|
||||
return value;
|
||||
};
|
||||
</script>
|
||||
|
||||
<Echo dummy={_0} let:dummy>
|
||||
<p>{read(_0, '_0')}</p>
|
||||
<p>{read(_1, '_1')}</p>
|
||||
<p>{read(_2, '_2')}</p>
|
||||
<p>{read(_3, '_3')}</p>
|
||||
<p>{read(_4, '_4')}</p>
|
||||
<p>{read(_5, '_5')}</p>
|
||||
<p>{read(_6, '_6')}</p>
|
||||
<p>{read(_7, '_7')}</p>
|
||||
<p>{read(_8, '_8')}</p>
|
||||
<p>{read(_9, '_9')}</p>
|
||||
<p>{read(_10, '_10')}</p>
|
||||
<p>{read(_11, '_11')}</p>
|
||||
<p>{read(_12, '_12')}</p>
|
||||
<p>{read(_13, '_13')}</p>
|
||||
<p>{read(_14, '_14')}</p>
|
||||
<p>{read(_15, '_15')}</p>
|
||||
<p>{read(_16, '_16')}</p>
|
||||
<p>{read(_17, '_17')}</p>
|
||||
<p>{read(_18, '_18')}</p>
|
||||
<p>{read(_19, '_19')}</p>
|
||||
<p>{read(_20, '_20')}</p>
|
||||
<p>{read(_21, '_21')}</p>
|
||||
<p>{read(_22, '_22')}</p>
|
||||
<p>{read(_23, '_23')}</p>
|
||||
<p>{read(_24, '_24')}</p>
|
||||
<p>{read(_25, '_25')}</p>
|
||||
<p>{read(_26, '_26')}</p>
|
||||
<p>{read(_27, '_27')}</p>
|
||||
<p>{read(_28, '_28')}</p>
|
||||
<p>{read(_29, '_29')}</p>
|
||||
<p>{read(_30, '_30')}</p>
|
||||
<p>{read(_31, '_31')}</p>
|
||||
<p>{read(_32, '_32')}</p>
|
||||
<p>{read(_33, '_33')}</p>
|
||||
<p>{read(_34, '_34')}</p>
|
||||
<p>{read(_35, '_35')}</p>
|
||||
<p>{read(_36, '_36')}</p>
|
||||
<p>{read(_37, '_37')}</p>
|
||||
<p>{read(_38, '_38')}</p>
|
||||
<p>{read(_39, '_39')}</p>
|
||||
<p>{read(_40, '_40')}</p>
|
||||
|
||||
<p>{read(_5, '_5') + ':' + read(_36, '_36')}</p>
|
||||
<p>{foo}</p>
|
||||
<p>{bar}</p>
|
||||
|
||||
<p>{dummy}</p>
|
||||
</Echo>
|
Loading…
Reference in new issue