Skip to content

Commit 5de91d1

Browse files
committed
add ci. lint tests
1 parent ce43471 commit 5de91d1

File tree

7 files changed

+59
-57
lines changed

7 files changed

+59
-57
lines changed

.eslintrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"env": {
3-
"node": true
3+
"node": true,
4+
"jest": true
45
},
56
"parser": "babel-eslint",
67
"ecmaFeatures": {

.npmignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
src
2+
.babelrc
3+
.eslintrc
4+
.travis.yml
15
test

.travis.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
language: node_js
2+
node_js:
3+
- "6"
4+
- "7"
5+
script:
6+
- npm run ci

lib/ScrollLock.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,5 +165,4 @@ ScrollLock.defaultProps = {
165165
enabled: true,
166166
className: ''
167167
};
168-
exports.default = ScrollLock;
169-
//# sourceMappingURL=ScrollLock.js.map
168+
exports.default = ScrollLock;

lib/ScrollLock.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
"description": "A React component wrapper that restricts scrolling capabilities of everything except for its children.",
55
"main": "index.js",
66
"scripts": {
7-
"lint": "eslint 'src/*.@(js|jsx)'",
7+
"lint": "eslint 'src/*' 'test/*'",
88
"clean": "rm -rf ./lib",
9-
"build-modules": "babel ./src --optional runtime --out-dir ./lib --source-maps",
9+
"build-modules": "babel ./src --out-dir ./lib",
1010
"build": "npm run clean && npm run build-modules",
1111
"test": "jest --config ./.jestrc",
12-
"cover": "jest --config ./.jestrc --coverage"
12+
"cover": "jest --config ./.jestrc --coverage",
13+
"ci": "npm run lint && npm run cover"
1314
},
1415
"keywords": [
1516
"React",

test/ScrollLock.test.jsx

Lines changed: 42 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import React from 'react';
22
import assert from 'assert';
3+
import { shallow } from 'enzyme';
4+
35
import ScrollLock from '../src/ScrollLock';
4-
import {shallow} from 'enzyme';
56

67
describe('ScrollLock', () => {
78
describe('component lifecycle methods', () => {
@@ -11,7 +12,7 @@ describe('ScrollLock', () => {
1112
it('componentDidMount - enabled', () => {
1213
const component = shallow(
1314
<ScrollLock>
14-
<div/>
15+
<div />
1516
</ScrollLock>
1617
).instance();
1718
component.listenToScrollEvents = jest.fn();
@@ -23,7 +24,7 @@ describe('ScrollLock', () => {
2324
it('componentDidMount - enabled=false', () => {
2425
const component = shallow(
2526
<ScrollLock enabled={false}>
26-
<div/>
27+
<div />
2728
</ScrollLock>
2829
).instance();
2930
component.listenToScrollEvents = jest.fn();
@@ -35,7 +36,7 @@ describe('ScrollLock', () => {
3536
it('componentWillUnmount', () => {
3637
const component = shallow(
3738
<ScrollLock enabled={false}>
38-
<div/>
39+
<div />
3940
</ScrollLock>
4041
).instance();
4142
component.stopListeningToScrollEvents = jest.fn();
@@ -47,24 +48,24 @@ describe('ScrollLock', () => {
4748
it('componentWillReceiveProps - disabled to enabled', () => {
4849
const component = shallow(
4950
<ScrollLock enabled={false}>
50-
<div/>
51+
<div />
5152
</ScrollLock>
5253
).instance();
5354
component.listenToScrollEvents = jest.fn();
5455

55-
component.componentWillReceiveProps({enabled: true});
56+
component.componentWillReceiveProps({ enabled: true });
5657

5758
expect(component.listenToScrollEvents).toBeCalled();
5859
});
5960
it('componentWillReceiveProps - enabled to disabled', () => {
6061
const component = shallow(
6162
<ScrollLock>
62-
<div/>
63+
<div />
6364
</ScrollLock>
6465
).instance();
6566
component.stopListeningToScrollEvents = jest.fn();
6667

67-
component.componentWillReceiveProps({enabled: false});
68+
component.componentWillReceiveProps({ enabled: false });
6869

6970
expect(component.stopListeningToScrollEvents).toBeCalled();
7071
});
@@ -75,21 +76,21 @@ describe('ScrollLock', () => {
7576
it('should set the scrolling element to firstChild', () => {
7677
const component = shallow(
7778
<ScrollLock>
78-
<div/>
79+
<div />
7980
</ScrollLock>
8081
).instance();
8182

8283
assert.equal(component.scrollingElement, undefined);
8384

8485
const firstChild = <div>BLAH BLAH TEST BLAH</div>;
85-
component.setScrollingElement({firstChild});
86+
component.setScrollingElement({ firstChild });
8687

8788
assert.equal(component.scrollingElement, firstChild);
8889
});
8990
it('should set the scrolling element to undefined if no argument passed', () => {
9091
const component = shallow(
9192
<ScrollLock>
92-
<div/>
93+
<div />
9394
</ScrollLock>
9495
).instance();
9596

@@ -106,7 +107,7 @@ describe('ScrollLock', () => {
106107
it('should cancel scroll event if delta beaks lower limit', () => {
107108
const component = shallow(
108109
<ScrollLock>
109-
<div/>
110+
<div />
110111
</ScrollLock>
111112
).instance();
112113
component.cancelScrollEvent = jest.fn();
@@ -126,7 +127,7 @@ describe('ScrollLock', () => {
126127
const scrollHeight = 450;
127128
const component = shallow(
128129
<ScrollLock>
129-
<div/>
130+
<div />
130131
</ScrollLock>
131132
).instance();
132133
component.cancelScrollEvent = jest.fn();
@@ -151,7 +152,7 @@ describe('ScrollLock', () => {
151152
};
152153
const component = shallow(
153154
<ScrollLock>
154-
<div/>
155+
<div />
155156
</ScrollLock>
156157
).instance();
157158
component.handleEventDelta = jest.fn();
@@ -168,11 +169,11 @@ describe('ScrollLock', () => {
168169
const touchClientY = 50;
169170
const component = shallow(
170171
<ScrollLock>
171-
<div/>
172+
<div />
172173
</ScrollLock>
173174
).instance();
174175
component.onTouchStartHandler({
175-
changedTouches:[{clientY: touchClientY}]
176+
changedTouches: [{ clientY: touchClientY }]
176177
});
177178
assert.equal(component.touchStart, touchClientY);
178179
});
@@ -183,19 +184,20 @@ describe('ScrollLock', () => {
183184
const touchClientY = 70;
184185
const touchStart = 50;
185186
const synthEvent = {
186-
changedTouches:[{clientY: touchClientY}]
187+
changedTouches: [{ clientY: touchClientY }]
187188
};
188189
const component = shallow(
189190
<ScrollLock>
190-
<div/>
191+
<div />
191192
</ScrollLock>
192193
).instance();
193194
component.handleEventDelta = jest.fn();
194195
component.touchStart = touchStart;
195196

196197
component.onTouchMoveHandler(synthEvent);
197198

198-
expect(component.handleEventDelta).toBeCalledWith(synthEvent, touchStart - touchClientY);
199+
expect(component.handleEventDelta)
200+
.toBeCalledWith(synthEvent, touchStart - touchClientY);
199201
});
200202
});
201203
describe('onKeyDownHandler', () => {
@@ -204,46 +206,36 @@ describe('ScrollLock', () => {
204206
beforeEach(() => {
205207
component = shallow(
206208
<ScrollLock>
207-
<div/>
209+
<div />
208210
</ScrollLock>
209211
).instance();
210212
component.handleEventDelta = jest.fn();
211-
})
213+
});
212214
afterEach(() => {
213215
jest.resetAllMocks();
214216
});
215217
it('should call handleEventDelta with delta of 1 for space bar', () => {
216-
synthEvent = {
217-
keyCode: 32
218-
};
218+
synthEvent = { keyCode: 32 };
219219
component.onKeyDownHandler(synthEvent);
220220
expect(component.handleEventDelta).toBeCalledWith(synthEvent, 1);
221221
});
222222
it('should call handleEventDelta with delta of 1 for pageDown', () => {
223-
synthEvent = {
224-
keyCode: 34
225-
};
223+
synthEvent = { keyCode: 34 };
226224
component.onKeyDownHandler(synthEvent);
227225
expect(component.handleEventDelta).toBeCalledWith(synthEvent, 1);
228226
});
229227
it('should call handleEventDelta with delta of 1 for downArrow', () => {
230-
synthEvent = {
231-
keyCode: 40
232-
};
228+
synthEvent = { keyCode: 40 };
233229
component.onKeyDownHandler(synthEvent);
234230
expect(component.handleEventDelta).toBeCalledWith(synthEvent, 1);
235231
});
236232
it('should call handleEventDelta with delta of -1 for pageUp', () => {
237-
synthEvent = {
238-
keyCode: 33
239-
};
233+
synthEvent = { keyCode: 33 };
240234
component.onKeyDownHandler(synthEvent);
241235
expect(component.handleEventDelta).toBeCalledWith(synthEvent, -1);
242236
});
243237
it('should call handleEventDelta with delta of -1 for arrowUp', () => {
244-
synthEvent = {
245-
keyCode: 38
246-
};
238+
synthEvent = { keyCode: 38 };
247239
component.onKeyDownHandler(synthEvent);
248240
expect(component.handleEventDelta).toBeCalledWith(synthEvent, -1);
249241
});
@@ -257,7 +249,7 @@ describe('ScrollLock', () => {
257249
};
258250
const component = shallow(
259251
<ScrollLock>
260-
<div/>
252+
<div />
261253
</ScrollLock>
262254
).instance();
263255

@@ -280,19 +272,19 @@ describe('ScrollLock', () => {
280272
};
281273
const component = shallow(
282274
<ScrollLock>
283-
<div/>
275+
<div />
284276
</ScrollLock>
285277
).instance();
286278

287279
component.listenToScrollEvents(scrollingElement);
288280

289281
const expectedCalls = [
290-
[ 'wheel', component.onWheelHandler, false ],
291-
[ 'touchstart', component.onTouchStartHandler, false ],
292-
[ 'touchmove', component.onTouchMoveHandler, false ],
293-
[ 'keydown', component.onKeyDownHandler, false ]
282+
['wheel', component.onWheelHandler, false],
283+
['touchstart', component.onTouchStartHandler, false],
284+
['touchmove', component.onTouchMoveHandler, false],
285+
['keydown', component.onKeyDownHandler, false]
294286
];
295-
assert.deepEqual(scrollingElement.addEventListener.mock.calls, expectedCalls)
287+
assert.deepEqual(scrollingElement.addEventListener.mock.calls, expectedCalls);
296288
});
297289
});
298290
describe('stopListeningToScrollEvents component method', () => {
@@ -305,19 +297,19 @@ describe('ScrollLock', () => {
305297
};
306298
const component = shallow(
307299
<ScrollLock>
308-
<div/>
300+
<div />
309301
</ScrollLock>
310302
).instance();
311303

312304
component.stopListeningToScrollEvents(scrollingElement);
313305
const expectedCalls = [
314-
[ 'wheel', component.onWheelHandler, false ],
315-
[ 'touchstart', component.onTouchStartHandler, false ],
316-
[ 'touchmove', component.onTouchMoveHandler, false ],
317-
[ 'keydown', component.onKeyDownHandler, false ]
306+
['wheel', component.onWheelHandler, false],
307+
['touchstart', component.onTouchStartHandler, false],
308+
['touchmove', component.onTouchMoveHandler, false],
309+
['keydown', component.onKeyDownHandler, false]
318310
];
319-
assert.deepEqual(scrollingElement.removeEventListener.mock.calls, expectedCalls)
311+
assert.deepEqual(scrollingElement.removeEventListener.mock.calls, expectedCalls);
320312
});
321313
});
322-
})
314+
});
323315
});

0 commit comments

Comments
 (0)