Test ListControl rendering and selection for equal height items case.
Adding 0, 1, 2
Creating element for 0
Creating element for 1
Creating element for 2
----list[length=3][height=73]----
[0] top
*[0] 0
*[10] 1
*[20] 2
*[30] bottom
Scrolling to 0
----list[length=3][height=73]----
[0] top
*[0] 0
*[10] 1
*[20] 2
*[30] bottom
Scrolling to 2
----list[length=3][height=73]----
[0] top
*[0] 0
*[10] 1
*[20] 2
*[30] bottom
ArrowDown
Selection changed from null to 0
----list[length=3][height=73]----
[0] top
*[0] 0 (selected)
*[10] 1
*[20] 2
*[30] bottom
Selecting 2
Selection changed from 0 to 2
----list[length=3][height=73]----
[0] top
*[0] 0
*[10] 1
*[20] 2 (selected)
*[30] bottom
PageUp
Selection changed from 2 to 0
----list[length=3][height=73]----
[0] top
*[0] 0 (selected)
*[10] 1
*[20] 2
*[30] bottom
PageDown
Selection changed from 0 to 2
----list[length=3][height=73]----
[0] top
*[0] 0
*[10] 1
*[20] 2 (selected)
*[30] bottom
ArrowDown
Selection changed from 2 to 0
----list[length=3][height=73]----
[0] top
*[0] 0 (selected)
*[10] 1
*[20] 2
*[30] bottom
Replacing 0 with 5, 6, 7
Creating element for 5
Creating element for 6
Creating element for 7
Selection changed from 0 to 2
----list[length=5][height=73]----
[0] top
*[0] 5
*[10] 6
*[20] 7
*[30] 1
*[40] 2 (selected)
*[50] bottom
ArrowUp
Selection changed from 2 to 7
----list[length=5][height=73]----
[0] top
*[0] 5
*[10] 6
*[20] 7 (selected)
*[30] 1
*[40] 2
*[50] bottom
Pushing 10
Creating element for 10
----list[length=6][height=73]----
[0] top
*[0] 5
*[10] 6
*[20] 7 (selected)
*[30] 1
*[40] 2
*[50] 10
*[60] bottom
Selecting 10
Selection changed from 7 to 10
----list[length=6][height=73]----
[0] top
*[0] 5
*[10] 6
*[20] 7
*[30] 1
*[40] 2
*[50] 10 (selected)
*[60] bottom
Popping 10
Selection changed from 10 to 2
----list[length=5][height=73]----
[0] top
*[0] 5
*[10] 6
*[20] 7
*[30] 1
*[40] 2 (selected)
*[50] bottom
Removing 2
Selection changed from 2 to 7
----list[length=4][height=73]----
[0] top
*[0] 5
*[10] 6
*[20] 7 (selected)
*[30] 1
*[40] bottom
Inserting 8
Creating element for 8
----list[length=5][height=73]----
[0] top
*[0] 5
*[10] 8
*[20] 6
*[30] 7 (selected)
*[40] 1
*[50] bottom
Replacing with 0...20
Creating element for 0
Creating element for 1
Creating element for 2
Creating element for 3
Creating element for 4
Creating element for 5
Creating element for 6
Creating element for 7
Creating element for 8
Creating element for 9
Creating element for 10
Creating element for 11
Creating element for 12
Creating element for 13
Creating element for 14
Selection changed from 7 to null
----list[length=20][height=73]----
[0] top
*[0] 0
*[10] 1
*[20] 2
*[30] 3
*[40] 4
*[50] 5
*[60] 6
+[70] 7
[80] 8
[90] 9
[100] 10
[110] 11
[120] 12
[130] 13
[140] 14
[150] bottom
Resizing
Creating element for 15
Creating element for 16
----list[length=20][height=83]----
[0] top
*[0] 0
*[10] 1
*[20] 2
*[30] 3
*[40] 4
*[50] 5
*[60] 6
*[70] 7
+[80] 8
[90] 9
[100] 10
[110] 11
[120] 12
[130] 13
[140] 14
[150] 15
[160] 16
[170] bottom
Scrolling to 19
Creating element for 17
Creating element for 18
Creating element for 19
----list[length=20][height=83]----
[-117] top
[-87] 3
[-77] 4
[-67] 5
[-57] 6
[-47] 7
[-37] 8
[-27] 9
[-17] 10
+[-7] 11
*[3] 12
*[13] 13
*[23] 14
*[33] 15
*[43] 16
*[53] 17
*[63] 18
*[73] 19
[83] bottom
Scrolling to 5
----list[length=20][height=83]----
[-50] top
[-50] 0
[-40] 1
[-30] 2
[-20] 3
[-10] 4
*[0] 5
*[10] 6
*[20] 7
*[30] 8
*[40] 9
*[50] 10
*[60] 11
*[70] 12
+[80] 13
[90] 14
[100] 15
[110] 16
[120] 17
[130] 18
[140] 19
[150] bottom
Scrolling to 12
----list[length=20][height=83]----
[-50] top
[-50] 0
[-40] 1
[-30] 2
[-20] 3
[-10] 4
*[0] 5
*[10] 6
*[20] 7
*[30] 8
*[40] 9
*[50] 10
*[60] 11
*[70] 12
+[80] 13
[90] 14
[100] 15
[110] 16
[120] 17
[130] 18
[140] 19
[150] bottom
Scrolling to 13
----list[length=20][height=83]----
[-57] top
[-57] 0
[-47] 1
[-37] 2
[-27] 3
[-17] 4
+[-7] 5
*[3] 6
*[13] 7
*[23] 8
*[33] 9
*[43] 10
*[53] 11
*[63] 12
*[73] 13
[83] 14
[93] 15
[103] 16
[113] 17
[123] 18
[133] 19
[143] bottom
Changing the item height
Creating element for 0
Creating element for 1
Creating element for 2
Creating element for 3
Creating element for 4
Creating element for 5
Creating element for 6
Creating element for 7
Creating element for 8
Creating element for 9
Creating element for 10
Creating element for 11
Creating element for 12
Creating element for 13
Creating element for 14
----list[length=20][height=83]----
[-57] top
[-57] 0
[-42] 1
[-27] 2
+[-12] 3
*[3] 4
*[18] 5
*[33] 6
*[48] 7
*[63] 8
+[78] 9
[93] 10
[108] 11
[123] 12
[138] 13
[153] 14
[168] bottom
Selecting 7
Selection changed from null to 7
----list[length=20][height=83]----
[-57] top
[-57] 0
[-42] 1
[-27] 2
+[-12] 3
*[3] 4
*[18] 5
*[33] 6
*[48] 7 (selected)
*[63] 8
+[78] 9
[93] 10
[108] 11
[123] 12
[138] 13
[153] 14
[168] bottom
Replacing 7 with 27
Creating element for 27
Selection changed from 7 to 10
----list[length=20][height=83]----
[-57] top
[-57] 0
[-42] 1
[-27] 2
+[-12] 3
*[3] 4
*[18] 5
*[33] 6
*[48] 27
*[63] 8
+[78] 9
[93] 10 (selected)
[108] 11
[123] 12
[138] 13
[153] 14
[168] bottom
Replacing 18, 19 with 28, 29
----list[length=20][height=83]----
[-57] top
[-57] 0
[-42] 1
[-27] 2
+[-12] 3
*[3] 4
*[18] 5
*[33] 6
*[48] 27
*[63] 8
+[78] 9
[93] 10 (selected)
[108] 11
[123] 12
[138] 13
[153] 14
[168] bottom
PageDown
Creating element for 15
Creating element for 16
Creating element for 17
Creating element for 28
Creating element for 29
Selection changed from 10 to 17
----list[length=20][height=83]----
[-187] top
[-97] 6
[-82] 27
[-67] 8
[-52] 9
[-37] 10
[-22] 11
+[-7] 12
*[8] 13
*[23] 14
*[38] 15
*[53] 16
*[68] 17 (selected)
[83] 28
[98] 29
[113] bottom
Replacing 1, 2, 3 with [31-43]
----list[length=30][height=83]----
[-337] top
[-97] 6
[-82] 27
[-67] 8
[-52] 9
[-37] 10
[-22] 11
+[-7] 12
*[8] 13
*[23] 14
*[38] 15
*[53] 16
*[68] 17 (selected)
[83] 28
[98] 29
[113] bottom
Scrolling to 13 (center)
----list[length=30][height=83]----
[-311] top
[-86] 5
[-71] 6
[-56] 27
[-41] 8
[-26] 9
+[-11] 10
*[4] 11
*[19] 12
*[34] 13
*[49] 14
*[64] 15
+[79] 16
[94] 17 (selected)
[109] 28
[124] 29
[139] bottom
ArrowUp
Selection changed from 17 to 15
----list[length=30][height=83]----
[-311] top
[-86] 5
[-71] 6
[-56] 27
[-41] 8
[-26] 9
+[-11] 10
*[4] 11
*[19] 12
*[34] 13
*[49] 14
*[64] 15 (selected)
+[79] 16
[94] 17
[109] 28
[124] 29
[139] bottom
Selecting -1
Selection changed from 15 to null
----list[length=30][height=83]----
[-311] top
[-86] 5
[-71] 6
[-56] 27
[-41] 8
[-26] 9
+[-11] 10
*[4] 11
*[19] 12
*[34] 13
*[49] 14
*[64] 15
+[79] 16
[94] 17
[109] 28
[124] 29
[139] bottom
ArrowUp
Selection changed from null to 17
----list[length=30][height=83]----
[-337] top
[-97] 6
[-82] 27
[-67] 8
[-52] 9
[-37] 10
[-22] 11
+[-7] 12
*[8] 13
*[23] 14
*[38] 15
*[53] 16
*[68] 17 (selected)
[83] 28
[98] 29
[113] bottom
Selecting -1
Selection changed from 17 to null
----list[length=30][height=83]----
[-337] top
[-97] 6
[-82] 27
[-67] 8
[-52] 9
[-37] 10
[-22] 11
+[-7] 12
*[8] 13
*[23] 14
*[38] 15
*[53] 16
*[68] 17
[83] 28
[98] 29
[113] bottom
ArrowDown
Creating element for 41
Creating element for 40
Creating element for 39
Creating element for 38
Creating element for 37
Creating element for 36
Creating element for 35
Creating element for 34
Creating element for 33
Creating element for 32
Creating element for 31
Selection changed from null to 0
----list[length=30][height=83]----
[0] top
*[0] 0 (selected)
*[15] 31
*[30] 32
*[45] 33
*[60] 34
+[75] 35
[90] 36
[105] 37
[120] 38
[135] 39
[150] 40
[165] 41
[180] bottom
Selecting -1
Selection changed from 0 to null
----list[length=30][height=83]----
[0] top
*[0] 0
*[15] 31
*[30] 32
*[45] 33
*[60] 34
+[75] 35
[90] 36
[105] 37
[120] 38
[135] 39
[150] 40
[165] 41
[180] bottom
PageUp
Creating element for 42
Creating element for 43
Selection changed from null to 12
----list[length=30][height=83]----
[-262] top
[-97] 41
[-82] 42
[-67] 43
[-52] 4
[-37] 5
[-22] 6
+[-7] 27
*[8] 8
*[23] 9
*[38] 10
*[53] 11
*[68] 12 (selected)
[83] 13
[98] 14
[113] 15
[128] 16
[143] 17
[158] 28
[173] bottom
Replacing all but 29 with []
Selection changed from 12 to null
----list[length=1][height=83]----
[0] top
*[0] 29
*[15] bottom
ArrowDown
----list[length=1][height=83]----
[0] top
*[0] 29
*[15] bottom
Replacing model with [5-7]
Creating element for 5
Creating element for 6
Creating element for 7
----list[length=1][height=83]----
[0] top
*[0] 5
*[15] 6
*[30] 7
*[45] bottom
Pushing 8
Creating element for 8
----list[length=1][height=83]----
[0] top
*[0] 5
*[15] 6
*[30] 7
*[45] 8
*[60] bottom
Pushing 9 to old model
----list[length=2][height=83]----
[0] top
*[0] 5
*[15] 6
*[30] 7
*[45] 8
*[60] bottom