|
| 1 | +/** |
| 2 | + * @copyright 2016-present, React CSS Components team |
| 3 | + * @flow |
| 4 | + */ |
| 5 | + |
| 6 | +import assert from 'assert'; |
| 7 | +import fs from 'fs'; |
| 8 | +import path from 'path'; |
1 | 9 | import {render} from '../';
|
2 | 10 |
|
3 |
| -describe('react-css-components', function() { |
4 |
| - |
5 |
| - it('renders react compoents', function() { |
6 |
| - let {js, css} = render(` |
7 |
| -
|
8 |
| -Label { |
9 |
| - color: red; |
10 |
| -} |
11 |
| - `, {requestCSS: 'react-css-components?css!styles.react.css'}); |
12 |
| - console.log('--- js'); |
13 |
| - console.log(js); |
14 |
| - console.log('--- css'); |
15 |
| - console.log(css); |
16 |
| - }); |
17 |
| - |
| 11 | +const REACT_CSS_RE = /\.react\.css$/; |
18 | 12 |
|
19 |
| - it('renders react components with pseudoclasses', function() { |
20 |
| - let {js, css} = render(` |
| 13 | +describe('react-css-components', function() { |
21 | 14 |
|
22 |
| -Label { |
23 |
| - color: red; |
24 |
| - :hover { |
25 |
| - color: white; |
| 15 | + function readFixture(filename) { |
| 16 | + filename = path.join(__dirname, 'fixtures', filename); |
| 17 | + return fs.readFileSync(filename, 'utf8').trim(); |
26 | 18 | }
|
27 |
| -} |
28 |
| - `, {requestCSS: 'react-css-components?css!styles.react.css'}); |
29 |
| - console.log('--- js'); |
30 |
| - console.log(js); |
31 |
| - console.log('--- css'); |
32 |
| - console.log(css); |
33 |
| - }); |
34 | 19 |
|
35 |
| - it('renders react components with nested pseudoclasses', function() { |
36 |
| - let {js, css} = render(` |
| 20 | + fs.readdirSync(path.join(__dirname, 'fixtures')).forEach(filename => { |
37 | 21 |
|
38 |
| -Label { |
39 |
| - color: red; |
40 |
| - :hover { |
41 |
| - color: white; |
42 |
| - :focus { |
43 |
| - color: black; |
| 22 | + if (!REACT_CSS_RE.exec(filename)) { |
| 23 | + return; |
44 | 24 | }
|
45 |
| - } |
46 |
| -} |
47 |
| - `, {requestCSS: 'react-css-components?css!styles.react.css'}); |
48 |
| - console.log('--- js'); |
49 |
| - console.log(js); |
50 |
| - console.log('--- css'); |
51 |
| - console.log(css); |
52 |
| - }); |
| 25 | + let jsExpect = filename.replace(REACT_CSS_RE, '.js'); |
| 26 | + let cssExpect = filename.replace(REACT_CSS_RE, '.css'); |
53 | 27 |
|
54 |
| - it('renders react components based on specified DOM component', function() { |
55 |
| - let {js, css} = render(` |
| 28 | + it('renders: ' + filename, function() { |
| 29 | + let source = readFixture(filename); |
| 30 | + let {js, css} = render(source, {requestCSS: 'css'}); |
| 31 | + assert.equal(js, readFixture(jsExpect)); |
| 32 | + assert.equal(css, readFixture(cssExpect)); |
| 33 | + }); |
56 | 34 |
|
57 |
| -Label { |
58 |
| - base: span; |
59 |
| - color: red; |
60 |
| -} |
61 |
| - `, {requestCSS: 'react-css-components?css!styles.react.css'}); |
62 |
| - console.log('--- js'); |
63 |
| - console.log(js); |
64 |
| - console.log('--- css'); |
65 |
| - console.log(css); |
66 | 35 | });
|
| 36 | + |
67 | 37 | });
|
0 commit comments