Skip to content

Commit f880fba

Browse files
committed
wrote the tests of #1874 that came out to be successful
1 parent 0d30a59 commit f880fba

File tree

3 files changed

+22
-11
lines changed

3 files changed

+22
-11
lines changed

examples/SimpleSlider.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export default class SimpleSlider extends Component {
77
dots: true,
88
infinite: true,
99
speed: 500,
10+
initialSlide: 2,
1011
slidesToShow: 1,
1112
slidesToScroll: 1
1213
};

examples/__tests__/SimpleSlider.test.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {
1111
getActiveSlidesCount,
1212
getActiveSlidesText,
1313
getButtons,
14-
getButtonsListItem
14+
getButtonsListItem,
15+
getCurrentSlide
1516
} from "../../test-utils";
1617

1718
describe("SimpleSlider example", () => {
@@ -23,7 +24,14 @@ describe("SimpleSlider example", () => {
2324
const { container } = render(<SimpleSlider />);
2425
expect(container.getElementsByClassName("slick-cloned").length).toBe(7);
2526
});
26-
it("should have 1 active slide", function() {
27+
it("should have 1 current slide(When initialSlide is 2)", function() {
28+
const { container } = render(<SimpleSlider />);
29+
expect(
30+
container.querySelectorAll(".slick-slide.slick-current").length
31+
).toBe(1);
32+
expect(parseInt(getCurrentSlide(container).textContent) - 1).toBe(2);
33+
});
34+
it("should have 1 active slide(When initialSlide is 2)", function() {
2735
const { container } = render(<SimpleSlider />);
2836
expect(container.querySelectorAll(".slick-slide.slick-active").length).toBe(
2937
1
@@ -32,7 +40,7 @@ describe("SimpleSlider example", () => {
3240
Array.from(getActiveSlide(container).children).map(
3341
e => parseInt(e.textContent) - 1
3442
)[0]
35-
).toBe(0);
43+
).toBe(2);
3644
});
3745
it("should have 6 dots", function() {
3846
const { container } = render(<SimpleSlider />);
@@ -55,30 +63,30 @@ describe("SimpleSlider example", () => {
5563
const { container } = render(<SimpleSlider />);
5664
expect(container.getElementsByClassName("slick-next").length).toBe(1);
5765
});
58-
it("should got to second slide when next button is clicked", function() {
66+
it("should got to next slide when next button is clicked", function() {
5967
const { container } = render(<SimpleSlider />);
6068
clickNext(container);
6169
expect(
6270
container.querySelectorAll(".slick-slide.slick-active")[0].textContent
63-
).toBe("2");
71+
).toBe("4");
6472
expect(container.querySelectorAll(".slick-dots .slick-active").length).toBe(
6573
1
6674
);
6775
expect(
68-
container.querySelectorAll(".slick-dots")[0].children[1]
76+
container.querySelectorAll(".slick-dots")[0].children[3]
6977
).toHaveClass("slick-active");
7078
});
71-
it("should goto last slide when prev button is clicked", function() {
79+
it("should goto previous slide when prev button is clicked", function() {
7280
const { container } = render(<SimpleSlider />);
7381
clickPrevious(container);
7482
expect(
7583
container.querySelectorAll(".slick-slide.slick-active")[0].textContent
76-
).toBe("6");
84+
).toBe("2");
7785
expect(container.querySelectorAll(".slick-dots .slick-active").length).toBe(
7886
1
7987
);
8088
expect(
81-
container.querySelectorAll(".slick-dots")[0].children[5]
89+
container.querySelectorAll(".slick-dots")[0].children[1]
8290
).toHaveClass("slick-active");
8391
});
8492
it("should goto 4th slide when 4th dot is clicked", function() {

src/inner-slider.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export class InnerSlider extends React.Component {
3535
this.state = {
3636
...initialState,
3737
currentSlide: this.props.initialSlide,
38+
targetSlide: this.props.initialSlide ? this.props.initialSlide : 0,
3839
slideCount: React.Children.count(this.props.children)
3940
};
4041
this.callbackTimers = [];
@@ -304,7 +305,8 @@ export class InnerSlider extends React.Component {
304305
};
305306
checkImagesLoad = () => {
306307
let images =
307-
(this.list && this.list.querySelectorAll &&
308+
(this.list &&
309+
this.list.querySelectorAll &&
308310
this.list.querySelectorAll(".slick-slide img")) ||
309311
[];
310312
let imagesCount = images.length,
@@ -316,7 +318,7 @@ export class InnerSlider extends React.Component {
316318
image.onclick = () => image.parentNode.focus();
317319
} else {
318320
const prevClickHandler = image.onclick;
319-
image.onclick = (e) => {
321+
image.onclick = e => {
320322
prevClickHandler(e);
321323
image.parentNode.focus();
322324
};

0 commit comments

Comments
 (0)