Skip to content

Commit 83c2fc4

Browse files
committed
完善虚拟滚动单元测试
1 parent b52a245 commit 83c2fc4

File tree

2 files changed

+23
-59
lines changed

2 files changed

+23
-59
lines changed

tests/unit/specs/__snapshots__/ve-table-virtual-scroll.spec.js.snap

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ exports[`veTable virtual scroll render same row height 1`] = `
9090
<td rowspan="1" colspan="1" class="ve-table-body-td" style="text-align: left;">12</td>
9191
<td rowspan="1" colspan="1" class="ve-table-body-td" style="text-align: left;">12</td>
9292
</tr>
93+
<tr row-key="13" class="ve-table-body-tr">
94+
<td rowspan="1" colspan="1" class="ve-table-body-td" style="text-align: left;">13</td>
95+
<td rowspan="1" colspan="1" class="ve-table-body-td" style="text-align: left;">13</td>
96+
<td rowspan="1" colspan="1" class="ve-table-body-td" style="text-align: left;">13</td>
97+
</tr>
9398
</tbody>
9499
<tfoot class="ve-table-fixed-footer ve-table-footer"></tfoot>
95100
</table>

tests/unit/specs/ve-table-virtual-scroll.spec.js

Lines changed: 18 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ describe("veTable virtual scroll", () => {
4343

4444
//
4545
const MAX_HEIGHT = 500;
46-
const MIN_ROW_HEIGHT = 42;
47-
const MIN_TABLE_ROW_COUNT = (MAX_HEIGHT / MIN_ROW_HEIGHT) * 2;
48-
const MAX_TABLE_ROW_COUNT = (MAX_HEIGHT / MIN_ROW_HEIGHT) * 2 + 5;
46+
const MIN_ROW_HEIGHT = 40;
47+
const TABLE_ROW_COUNT = Math.ceil(MAX_HEIGHT / MIN_ROW_HEIGHT) + 1;
48+
// const MIN_TABLE_ROW_COUNT = Math.floor(MAX_HEIGHT / MIN_ROW_HEIGHT);
49+
// const MAX_TABLE_ROW_COUNT = Math.ceil(MAX_HEIGHT / MIN_ROW_HEIGHT) + 2;
4950

5051
it("render same row height", async () => {
5152
const wrapper = mount(veTable, {
@@ -181,7 +182,6 @@ describe("veTable virtual scroll", () => {
181182
virtualScrollOption: {
182183
// 是否开启
183184
enable: true,
184-
bufferScale: 1,
185185
},
186186
maxHeight: MAX_HEIGHT,
187187
rowKeyFieldName: "rowKey",
@@ -192,13 +192,8 @@ describe("veTable virtual scroll", () => {
192192

193193
await later();
194194

195-
// default buffer=1
196-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
197-
MIN_TABLE_ROW_COUNT,
198-
);
199-
200-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
201-
MAX_TABLE_ROW_COUNT,
195+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
196+
TABLE_ROW_COUNT,
202197
);
203198
});
204199

@@ -232,7 +227,6 @@ describe("veTable virtual scroll", () => {
232227
virtualScrollOption: {
233228
// 是否开启
234229
enable: true,
235-
bufferScale: 1,
236230
},
237231
maxHeight: MAX_HEIGHT,
238232
rowKeyFieldName: "rowKey",
@@ -243,13 +237,8 @@ describe("veTable virtual scroll", () => {
243237

244238
await later();
245239

246-
// default buffer=1
247-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
248-
MIN_TABLE_ROW_COUNT,
249-
);
250-
251-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
252-
MAX_TABLE_ROW_COUNT,
240+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
241+
TABLE_ROW_COUNT,
253242
);
254243
});
255244

@@ -285,7 +274,6 @@ describe("veTable virtual scroll", () => {
285274
virtualScrollOption: {
286275
// 是否开启
287276
enable: true,
288-
bufferScale: 1,
289277
},
290278
checkboxOption: {},
291279
maxHeight: MAX_HEIGHT,
@@ -299,13 +287,8 @@ describe("veTable virtual scroll", () => {
299287

300288
expect(wrapper.find(".ve-checkbox").exists()).toBe(true);
301289

302-
// default buffer=1
303-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
304-
MIN_TABLE_ROW_COUNT,
305-
);
306-
307-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
308-
MAX_TABLE_ROW_COUNT,
290+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
291+
TABLE_ROW_COUNT,
309292
);
310293
});
311294

@@ -341,7 +324,6 @@ describe("veTable virtual scroll", () => {
341324
virtualScrollOption: {
342325
// 是否开启
343326
enable: true,
344-
bufferScale: 1,
345327
},
346328
radioOption: {},
347329
maxHeight: MAX_HEIGHT,
@@ -355,13 +337,8 @@ describe("veTable virtual scroll", () => {
355337

356338
expect(wrapper.find(".ve-radio").exists()).toBe(true);
357339

358-
// default buffer=1
359-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
360-
MIN_TABLE_ROW_COUNT,
361-
);
362-
363-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
364-
MAX_TABLE_ROW_COUNT,
340+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
341+
TABLE_ROW_COUNT,
365342
);
366343
});
367344

@@ -397,7 +374,6 @@ describe("veTable virtual scroll", () => {
397374
virtualScrollOption: {
398375
// 是否开启
399376
enable: true,
400-
bufferScale: 1,
401377
},
402378
expandOption: {
403379
render: ({ row, column, rowIndex }, h) => {
@@ -421,13 +397,8 @@ describe("veTable virtual scroll", () => {
421397

422398
expect(wrapper.find(".ve-table-row-expand-icon").exists()).toBe(true);
423399

424-
// default buffer=1
425-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
426-
MIN_TABLE_ROW_COUNT,
427-
);
428-
429-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
430-
MAX_TABLE_ROW_COUNT,
400+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
401+
TABLE_ROW_COUNT,
431402
);
432403
});
433404

@@ -463,7 +434,6 @@ describe("veTable virtual scroll", () => {
463434
virtualScrollOption: {
464435
// 是否开启
465436
enable: true,
466-
bufferScale: 1,
467437
},
468438
maxHeight: MAX_HEIGHT,
469439
rowKeyFieldName: "rowKey",
@@ -502,13 +472,8 @@ describe("veTable virtual scroll", () => {
502472
"ve-table-first-right-fixed-column",
503473
);
504474

505-
// default buffer=1
506-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
507-
MIN_TABLE_ROW_COUNT,
508-
);
509-
510-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
511-
MAX_TABLE_ROW_COUNT,
475+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
476+
TABLE_ROW_COUNT,
512477
);
513478
});
514479

@@ -560,7 +525,6 @@ describe("veTable virtual scroll", () => {
560525
virtualScrollOption: {
561526
// 是否开启
562527
enable: true,
563-
bufferScale: 1,
564528
},
565529
maxHeight: MAX_HEIGHT,
566530
rowKeyFieldName: "rowKey",
@@ -575,13 +539,8 @@ describe("veTable virtual scroll", () => {
575539
wrapper.findAll(".ve-table-footer-tr .ve-table-footer-td").length,
576540
).toBe(6);
577541

578-
// default buffer=1
579-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeGreaterThan(
580-
MIN_TABLE_ROW_COUNT,
581-
);
582-
583-
expect(wrapper.findAll(".ve-table-body-tr").length).toBeLessThan(
584-
MAX_TABLE_ROW_COUNT,
542+
expect(wrapper.findAll(".ve-table-body-tr").length).toBe(
543+
TABLE_ROW_COUNT,
585544
);
586545
});
587546
});

0 commit comments

Comments
 (0)