A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/bootstrap-vue/bootstrap-vue/commit/7e18c615fec871fb99a947ca5e247bcef04b7c6f below:

allow page change to be prevente… · bootstrap-vue/bootstrap-vue@7e18c61 · GitHub

@@ -407,61 +407,101 @@ describe('pagination-nav', () => {

407 407

})

408 408 409 409

it('clicking buttons updates the v-model', async () => {

410 -

const wrapper = mount(BPaginationNav, {

411 -

propsData: {

412 -

baseUrl: '#', // needed to prevent JSDOM errors

413 -

numberOfPages: 3,

414 -

value: 1,

415 -

limit: 10

410 +

const App = {

411 +

methods: {

412 +

onPageClick(bvEvt, page) {

413 +

// Prevent 3rd page from being selected

414 +

if (page === 3) {

415 +

bvEvt.preventDefault()

416 +

}

417 +

}

418 +

},

419 +

render(h) {

420 +

return h(BPaginationNav, {

421 +

props: {

422 +

baseUrl: '#', // Needed to prevent JSDOM errors

423 +

numberOfPages: 5,

424 +

value: 1,

425 +

limit: 10

426 +

},

427 +

on: { 'page-click': this.onPageClick }

428 +

})

416 429

}

417 -

})

418 -

expect(wrapper.element.tagName).toBe('NAV')

430 +

}

431 + 432 +

const wrapper = mount(App)

433 +

expect(wrapper).toBeDefined()

419 434 420 -

expect(wrapper.findAll('li').length).toBe(7)

435 +

const paginationNav = wrapper.findComponent(BPaginationNav)

436 +

expect(paginationNav).toBeDefined()

437 +

expect(paginationNav.element.tagName).toBe('NAV')

421 438 422 -

expect(wrapper.vm.computedCurrentPage).toBe(1)

423 -

expect(wrapper.emitted('input')).not.toBeDefined()

439 +

// Grab the page links

440 +

const lis = paginationNav.findAll('li')

441 +

expect(lis.length).toBe(9)

424 442 425 -

// Click on current page button (does nothing)

426 -

await wrapper

427 -

.findAll('li')

443 +

expect(paginationNav.vm.computedCurrentPage).toBe(1)

444 +

expect(paginationNav.emitted('input')).not.toBeDefined()

445 +

expect(paginationNav.emitted('change')).not.toBeDefined()

446 +

expect(paginationNav.emitted('page-click')).not.toBeDefined()

447 + 448 +

// Click on current (1st) page link (does nothing)

449 +

await lis

428 450

.at(2)

429 451

.find('a')

430 452

.trigger('click')

431 453

await waitRAF()

432 -

expect(wrapper.vm.computedCurrentPage).toBe(1)

433 -

expect(wrapper.emitted('input')).not.toBeDefined()

454 +

expect(paginationNav.vm.computedCurrentPage).toBe(1)

455 +

expect(paginationNav.emitted('input')).not.toBeDefined()

456 +

expect(paginationNav.emitted('change')).not.toBeDefined()

457 +

expect(paginationNav.emitted('page-click')).not.toBeDefined()

434 458 435 -

// Click on 2nd page button

436 -

await wrapper

437 -

.findAll('li')

459 +

// Click on 2nd page link

460 +

await lis

438 461

.at(3)

439 462

.find('a')

440 463

.trigger('click')

441 464

await waitRAF()

442 -

expect(wrapper.vm.computedCurrentPage).toBe(2)

443 -

expect(wrapper.emitted('input')).toBeDefined()

444 -

expect(wrapper.emitted('input')[0][0]).toBe(2)

445 - 446 -

// Click goto last button

447 -

await wrapper

448 -

.findAll('li')

449 -

.at(6)

465 +

expect(paginationNav.vm.computedCurrentPage).toBe(2)

466 +

expect(paginationNav.emitted('input')).toBeDefined()

467 +

expect(paginationNav.emitted('change')).toBeDefined()

468 +

expect(paginationNav.emitted('page-click')).toBeDefined()

469 +

expect(paginationNav.emitted('input')[0][0]).toBe(2)

470 +

expect(paginationNav.emitted('change')[0][0]).toBe(2)

471 +

expect(paginationNav.emitted('page-click').length).toBe(1)

472 + 473 +

// Click goto last page link

474 +

await lis

475 +

.at(8)

450 476

.find('a')

451 -

.trigger('keydown.space') // Generates a click event

477 +

.trigger('click')

452 478

await waitRAF()

453 -

expect(wrapper.vm.computedCurrentPage).toBe(3)

454 -

expect(wrapper.emitted('input')[1][0]).toBe(3)

479 +

expect(paginationNav.vm.computedCurrentPage).toBe(5)

480 +

expect(paginationNav.emitted('input')[1][0]).toBe(5)

481 +

expect(paginationNav.emitted('change')[1][0]).toBe(5)

482 +

expect(paginationNav.emitted('page-click').length).toBe(2)

455 483 456 -

// Click prev button

457 -

await wrapper

458 -

.findAll('li')

484 +

// Click prev page link

485 +

await lis

459 486

.at(1)

460 487

.find('a')

461 488

.trigger('click')

462 489

await waitRAF()

463 -

expect(wrapper.vm.computedCurrentPage).toBe(2)

464 -

expect(wrapper.emitted('input')[2][0]).toBe(2)

490 +

expect(paginationNav.vm.computedCurrentPage).toBe(4)

491 +

expect(paginationNav.emitted('input')[2][0]).toBe(4)

492 +

expect(paginationNav.emitted('change')[2][0]).toBe(4)

493 +

expect(paginationNav.emitted('page-click').length).toBe(3)

494 + 495 +

// Click on 3rd page link (prevented)

496 +

await lis

497 +

.at(4)

498 +

.find('a')

499 +

.trigger('click')

500 +

await waitRAF()

501 +

expect(paginationNav.vm.computedCurrentPage).toBe(4)

502 +

expect(paginationNav.emitted('input').length).toBe(3)

503 +

expect(paginationNav.emitted('change').length).toBe(3)

504 +

expect(paginationNav.emitted('page-click').length).toBe(4)

465 505 466 506

wrapper.destroy()

467 507

})


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4