Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | import Pagination from './index';
import { createVM, createWrapVM } from '~/test/utils';
describe('Pagination', () => {
let pagination;
it('total', () => {
pagination = createVM(Pagination, { total: 0 });
expect(pagination.pages.join(',')).to.equal('');
pagination = createVM(Pagination, { total: 1 });
expect(pagination.pages.join(',')).to.equal('1');
pagination = createVM(Pagination, { total: 4 });
expect(pagination.pages.join(',')).to.equal('1,2,3,4');
pagination = createVM(Pagination);
expect(pagination.pages.pop()).to.equal(11);
});
it('page', (done) => {
pagination = createVM(Pagination);
expect(pagination.currentPage).to.equal(1);
pagination = createVM(Pagination, { page: 6 });
expect(pagination.currentPage).to.equal(6);
const vm = createWrapVM(Pagination, { page: 6 });
pagination = vm.$refs.child;
expect(pagination.currentPage).to.be.equal(6);
vm.page = 10;
setTimeout(() => {
expect(pagination.currentPage).to.equal(10);
done();
});
});
it('side', () => {
// 0
pagination = createVM(Pagination, { side: 0 });
expect(pagination.pages.join(',')).to.equal('1,2,3,4,5,');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal(',4,5,6,7,8,');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal(',7,8,9,10,11');
// 1
pagination = createVM(Pagination, { side: 1 });
expect(pagination.pages.join(',')).to.equal('1,2,3,4,5,,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,,4,5,6,7,8,,11');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal('1,,7,8,9,10,11');
// 2
pagination = createVM(Pagination);
expect(pagination.pages.join(',')).to.equal('1,2,3,4,5,,10,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,2,,4,5,6,7,8,,10,11');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal('1,2,,7,8,9,10,11');
});
it('around', () => {
// 1
pagination = createVM(Pagination, { around: 1 });
expect(pagination.pages.join(',')).to.equal('1,2,,10,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,2,,6,,10,11');
pagination.currentPage = 9;
expect(pagination.pages.join(',')).to.equal('1,2,,9,10,11');
// 2
pagination = createVM(Pagination, { around: 2 });
expect(pagination.pages.join(',')).to.equal('1,2,,10,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,2,,5,6,,10,11');
pagination.currentPage = 9;
expect(pagination.pages.join(',')).to.equal('1,2,,8,9,10,11');
// 3
pagination = createVM(Pagination, { around: 3 });
expect(pagination.pages.join(',')).to.equal('1,2,3,,10,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,2,,5,6,7,,10,11');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal('1,2,,9,10,11');
// 4
pagination = createVM(Pagination, { around: 4 });
expect(pagination.pages.join(',')).to.equal('1,2,3,4,,10,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,2,,4,5,6,7,,10,11');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal('1,2,,8,9,10,11');
// 5
pagination = createVM(Pagination);
expect(pagination.pages.join(',')).to.equal('1,2,3,4,5,,10,11');
pagination.currentPage = 6;
expect(pagination.pages.join(',')).to.equal('1,2,,4,5,6,7,8,,10,11');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal('1,2,,7,8,9,10,11');
// around > total
pagination = createVM(Pagination, { total: 3 });
expect(pagination.pages.join(',')).to.equal('1,2,3');
pagination.currentPage = 3;
expect(pagination.pages.join(',')).to.equal('1,2,3');
});
it('pages', () => {
pagination = createVM(Pagination);
expect(pagination.pages.join(',')).to.equal('1,2,3,4,5,,10,11');
pagination.currentPage = 5;
expect(pagination.pages.join(',')).to.equal('1,2,3,4,5,6,7,,10,11');
pagination.currentPage = 8;
expect(pagination.pages.join(',')).to.equal('1,2,,6,7,8,9,10,11');
pagination.currentPage = 10;
expect(pagination.pages.join(',')).to.equal('1,2,,7,8,9,10,11');
});
it('readonly || disabled', () => {
pagination = createVM(Pagination, { disabled: true });
pagination.select(4);
expect(pagination.currentPage).to.equal(1);
});
it('select(page)', () => {
pagination = createVM(Pagination);
pagination.select(4);
expect(pagination.currentPage).to.equal(4);
pagination.select(13);
expect(pagination.currentPage).to.equal(4);
});
it('@before-select', () => {
pagination = createVM(Pagination);
let $event;
pagination.$once('before-select', (e) => $event = e);
pagination.select(7);
expect($event.page).to.equal(7);
expect($event.oldPage).to.equal(1);
pagination.$once('before-select', (e) => e.preventDefault());
pagination.select(4);
expect(pagination.currentPage).to.equal(7);
});
it('@select', () => {
pagination = createVM(Pagination);
let $event;
pagination.$once('select', (e) => $event = e);
pagination.select(7);
expect($event.page).to.equal(7);
expect($event.oldPage).to.equal(1);
});
it('@change', (done) => {
pagination = createVM(Pagination);
let $event;
pagination.$on('change', (e) => $event = e);
pagination.select(7);
setTimeout(() => {
expect($event.page).to.equal(7);
expect($event.oldPage).to.equal(1);
pagination.currentPage = 2;
setTimeout(() => {
expect($event.page).to.equal(2);
expect($event.oldPage).to.equal(7);
done();
});
});
});
});
|