File tree 3 files changed +54
-3
lines changed
3 files changed +54
-3
lines changed Original file line number Diff line number Diff line change 8
8
- linux
9
9
10
10
node_js :
11
+ - ' 8'
11
12
- ' 6'
12
- - ' 5'
13
- - ' 4'
14
13
15
14
before_install :
16
15
- npm install -g npm
Original file line number Diff line number Diff line change
1
+ import Enzyme from 'enzyme' ;
2
+ import Adapter from 'enzyme-adapter-react-16' ;
3
+ import { JSDOM } from 'jsdom' ;
4
+
5
+ // React 16 Enzyme adapter
6
+ Enzyme . configure ( { adapter : new Adapter ( ) } ) ;
7
+
8
+ // Ignore `.styl` files
9
+ require . extensions [ '.styl' ] = ( ) => {
10
+ return ;
11
+ } ;
12
+
13
+ // JSDOM
14
+ const jsdom = new JSDOM ( '<!doctype html><html><body></body></html>' ) ;
15
+ const { window } = jsdom ;
16
+
17
+ const copyProps = ( src , target ) => {
18
+ const props = Object . getOwnPropertyNames ( src )
19
+ . filter ( prop => typeof target [ prop ] === 'undefined' )
20
+ . reduce ( ( result , prop ) => ( {
21
+ ...result ,
22
+ [ prop ] : Object . getOwnPropertyDescriptor ( src , prop )
23
+ } ) , { } ) ;
24
+ Object . defineProperties ( target , props ) ;
25
+ } ;
26
+
27
+ global . window = window ;
28
+ global . document = window . document ;
29
+ global . navigator = {
30
+ userAgent : 'node.js'
31
+ } ;
32
+
33
+ copyProps ( window , global ) ;
Original file line number Diff line number Diff line change
1
+ import React from 'react' ;
2
+ import { mount } from 'enzyme' ;
1
3
import { test } from 'tap' ;
4
+ import '../setupTests' ;
5
+ import Dropdown , { MenuItem } from '../src' ;
2
6
3
- test ( 'noop' , ( t ) => {
7
+ test ( '<Dropdown />' , ( t ) => {
8
+ const wrapper = mount ( (
9
+ < Dropdown >
10
+ < Dropdown . Toggle >
11
+ </ Dropdown . Toggle >
12
+ < Dropdown . Menu >
13
+ < MenuItem > </ MenuItem >
14
+ < MenuItem > </ MenuItem >
15
+ < MenuItem > </ MenuItem >
16
+ </ Dropdown . Menu >
17
+ </ Dropdown >
18
+ ) ) ;
19
+ t . equal ( wrapper . find ( Dropdown ) . length , 1 , 'should render <Dropdown /> component' ) ;
20
+ t . equal ( wrapper . find ( Dropdown . Toggle ) . length , 1 , 'should render <Dropdown.Toggle /> component' ) ;
21
+ t . equal ( wrapper . find ( Dropdown . Menu ) . length , 1 , 'should render <Dropdown.Menu /> component' ) ;
22
+ t . equal ( wrapper . find ( MenuItem ) . length , 3 , 'should render <MenuItem /> component' ) ;
4
23
t . end ( ) ;
5
24
} ) ;
You can’t perform that action at this time.
0 commit comments