forked from akiran/react-slick
-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request akiran#2238 from akiran/fix-2166-2
Fix 2166 2
- Loading branch information
Showing
38 changed files
with
796 additions
and
3,885 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import React from "react"; | ||
import { render, fireEvent } from "@testing-library/react"; | ||
import Slider from "../src/index"; | ||
import { | ||
getActiveSlide, | ||
clickNext, | ||
clickPrevious, | ||
getCurrentSlide | ||
} from "../test-utils"; | ||
|
||
class SliderWithAfterChange extends React.Component { | ||
constructor(props) { | ||
super(props); | ||
this.state = { | ||
currentSlide: null | ||
}; | ||
this.afterChange = this.afterChange.bind(this); | ||
} | ||
|
||
afterChange(currentSlide) { | ||
console.log(currentSlide, "afterChange"); | ||
this.setState({ | ||
currentSlide | ||
}); | ||
} | ||
render() { | ||
return ( | ||
<Slider afterChange={this.afterChange}> | ||
<div>slide1</div> | ||
<div>slide2</div> | ||
<div>slide3</div> | ||
<div>slide4</div> | ||
</Slider> | ||
); | ||
} | ||
} | ||
|
||
describe("After change Slider", function() { | ||
it("should render", function() { | ||
const { container } = render(<SliderWithAfterChange />); | ||
clickNext(container); | ||
setTimeout(() => { | ||
expect(getActiveSlide(container).textContent).toEqual("slide2"); | ||
}, 1000); | ||
clickNext(container); | ||
setTimeout(() => { | ||
expect(getActiveSlide(container).textContent).toEqual("slide3"); | ||
}, 1000); | ||
clickPrevious(container); | ||
setTimeout(() => { | ||
expect(getActiveSlide(container).textContent).toEqual("slide2"); | ||
}, 1000); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
/** | ||
* Arrow component tests | ||
*/ | ||
|
||
sinon.stub(console, "error"); | ||
|
||
import { render } from "@testing-library/react"; | ||
import React from "react"; | ||
import sinon from "sinon"; | ||
|
||
import { NextArrow, PrevArrow } from "../src/arrows"; | ||
|
||
function CustomArrow(props) { | ||
return ( | ||
<span | ||
className="sample" | ||
data-currentSlide={props.currentSlide} | ||
data-slideCount={props.slideCount} | ||
/> | ||
); | ||
} | ||
|
||
describe("Previous arrows", () => { | ||
it("should render arrow", () => { | ||
const { container } = render(<PrevArrow />); | ||
expect(Array.from(container.getElementsByTagName("button"))).toHaveLength( | ||
1 | ||
); | ||
}); | ||
|
||
it("should not result in errors", () => { | ||
render(<PrevArrow />); | ||
|
||
expect(console.error.called).toBe(false); | ||
}); | ||
|
||
// it('should pass slide data to custom arrow', () => { | ||
// let elAttributes; | ||
// let arr = <CustomArrow /> | ||
|
||
// const {container}= render(<PrevArrow currentSlide={3} prevArrow={arr} slideCount={5} />); | ||
|
||
// elAttributes =x=> container.querySelectorAll('.sample')[0].getAttribute(x); | ||
// expect(elAttributes('data-currentslide')).toBe('3'); | ||
// expect(elAttributes('data-slidecount')).toBe('5'); | ||
// }); | ||
}); | ||
|
||
describe("Next arrows", () => { | ||
it("should render arrow", () => { | ||
const { container } = render(<NextArrow />); | ||
expect(Array.from(container.getElementsByTagName("button"))).toHaveLength( | ||
1 | ||
); | ||
}); | ||
|
||
// it('should not result in errors', () => { | ||
// render(<NextArrow />); | ||
|
||
// expect(console.error.called).toBe(false); | ||
// }); | ||
|
||
// it('should pass slide data to custom arrow', () => { | ||
// let elAttributes; | ||
// let arr = <CustomArrow /> | ||
|
||
// const {container} = render(<NextArrow currentSlide={6} nextArrow={arr} slideCount={9} />); | ||
|
||
// elAttributes =(x)=> container.querySelectorAll('.sample')[0].getAttribute(x); | ||
// expect(elAttributes('data-currentslide')).toBe('6'); | ||
// expect(elAttributes('data-slidecount')).toBe('9'); | ||
// }); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
import React from "react"; | ||
import { render } from "@testing-library/react"; | ||
import Slider from "../src/index"; | ||
import { | ||
getActiveSlide, | ||
clickNext, | ||
clickPrevious, | ||
getCurrentSlide | ||
} from "../test-utils"; | ||
|
||
class SliderWithBeforeChange extends React.Component { | ||
constructor(props) { | ||
super(props); | ||
this.state = { | ||
currentSlide: null, | ||
nextSlide: null | ||
}; | ||
this.beforeChange = this.beforeChange.bind(this); | ||
} | ||
beforeChange(currentSlide, nextSlide) { | ||
this.setState({ | ||
currentSlide, | ||
nextSlide | ||
}); | ||
} | ||
render() { | ||
return ( | ||
<Slider waitForAnimate={false} beforeChange={this.beforeChange}> | ||
<div>slide1</div> | ||
<div>slide2</div> | ||
<div>slide3</div> | ||
<div>slide4</div> | ||
</Slider> | ||
); | ||
} | ||
} | ||
|
||
describe("Slider", function() { | ||
it("should render", function() { | ||
const { container } = render(<SliderWithBeforeChange />); | ||
clickNext(container); | ||
expect(getActiveSlide(container).textContent).toEqual("slide2"); | ||
clickNext(container); | ||
expect(getActiveSlide(container).textContent).toEqual("slide3"); | ||
clickPrevious(container); | ||
expect(getActiveSlide(container).textContent).toEqual("slide2"); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
import { render } from "@testing-library/react"; | ||
import assign from "object-assign"; | ||
import { getRequiredLazySlides } from "../src/utils/innerSliderUtils"; | ||
import { | ||
createInnerSliderWrapper, | ||
clickNext, | ||
clickPrev, | ||
tryAllConfigs | ||
} from "./testUtils"; | ||
|
||
// const testSettings = settings => { | ||
// let {container} = createInnerSliderWrapper(settings); | ||
// for (let click = 0; click < settings.noOfSlides + 2; click++) { | ||
// let lazyLoadedList = slider.state().lazyLoadedList; | ||
// let expectedLazyLoadedList = getRequiredLazySlides( | ||
// assign({}, slider.props(), slider.state()) | ||
// ); | ||
// expectedLazyLoadedList.forEach(slide => { | ||
// expect(lazyLoadedList.indexOf(slide) >= 0).toEqual(true); | ||
// }); | ||
// clickNext(slider); | ||
// } | ||
|
||
// slider = createInnerSliderWrapper(settings); | ||
// for (let click = 0; click < settings.noOfSlides + 2; click++) { | ||
// let lazyLoadedList = slider.state().lazyLoadedList; | ||
// let expectedLazyLoadedList = getRequiredLazySlides( | ||
// assign({}, slider.props(), slider.state()) | ||
// ); | ||
// expectedLazyLoadedList.forEach(slide => { | ||
// expect(lazyLoadedList.indexOf(slide) >= 0).toEqual(true); | ||
// }); | ||
// clickPrev(slider); | ||
// } | ||
|
||
// slider = createInnerSliderWrapper(settings); | ||
// for (let click = 0; click < settings.noOfSlides + 2; click++) { | ||
// let lazyLoadedList = slider.state().lazyLoadedList; | ||
// lazyLoadedList.forEach(slideIndex => { | ||
// expect( | ||
// slider.find(`[data-index=${slideIndex}]`).props().children !== undefined | ||
// ).toBe(true); | ||
// }); | ||
// } | ||
// }; | ||
|
||
// describe("LazyLoad test", () => { | ||
// let settings = { | ||
// lazyLoad: true, | ||
// useCSS: false, | ||
// speed: 0, | ||
// noOfSlides: [7, 8], | ||
// initialSlide: [0, 5], | ||
// slidesToShow: [1, 3, 4], | ||
// slidesToScroll: [1, 3], | ||
// centerMode: [true, false] | ||
// }; | ||
// let settingsList = []; | ||
// tryAllConfigs(settings, settingsList); | ||
// // shuffle the list | ||
// settingsList.sort(() => 0.5 - Math.random()); | ||
// settingsList.forEach((settings, index) => { | ||
// if (Math.random() < 0.5) { | ||
// test(`Testing config no. ${index}`, () => testSettings(settings)); | ||
// } | ||
// }); | ||
// }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,4 +51,4 @@ | |
} | ||
} | ||
] | ||
} | ||
} |
Oops, something went wrong.