Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
Micajuine Ho committed Nov 3, 2020
1 parent c983809 commit 15148c3
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
3 changes: 2 additions & 1 deletion extensions/amp-base-carousel/0.1/carousel.js
Original file line number Diff line number Diff line change
Expand Up @@ -1180,10 +1180,11 @@ export class Carousel {
}

// We are updating during a programmatic scroll, so go to the correct
// index.
// index (and update offset accordingly).
if (this.requestedIndex_ !== null) {
this.currentIndex_ = this.requestedIndex_;
this.requestedIndex_ = null;
this.currentElementOffset_ = 0;
}

const totalLength = sum(this.getSlideLengths_());
Expand Down
26 changes: 26 additions & 0 deletions extensions/amp-base-carousel/0.1/test/test-carousel.js
Original file line number Diff line number Diff line change
Expand Up @@ -236,4 +236,30 @@ describes.realWin('carousel implementation', {}, (env) => {
expect(carousel.isAtStart()).to.be.false;
});
});

describe('resetScrollReferencePoint_', () => {
it('currentElementOffset_ & currentIndex_ should be set when it is a' +
' programmatic scroll', async () => {
setStyle(element, 'width', '299.2px');

const carousel = await createCarousel({
slideCount: 12,
loop: false,
});

// Fake the scroll that ends short of the correct index.
// This is handled by scroll event listener.
carousel.touching_ = false;
carousel.requestedIndex_ = 1;
carousel.currentIndex_ = 0;
carousel.restingIndex_ = 0;
carousel.currentElementOffset_ = -0.99382;

carousel.resetScrollReferencePoint_();

expect(carousel.currentElementOffset_).to.equal(0);
expect(carousel.currentIndex_).to.equal(1);
expect(carousel.requestedIndex_).to.be.null;
});
});
});

0 comments on commit 15148c3

Please sign in to comment.