Skip to content
This repository was archived by the owner on Jun 8, 2019. It is now read-only.

Commit 2eff2ca

Browse files
committed
Tweak test suite code.
1 parent d379b38 commit 2eff2ca

15 files changed

Lines changed: 199 additions & 141 deletions

File tree

.babelrc

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,5 @@
55
"plugins": [
66
"transform-object-rest-spread",
77
"transform-runtime"
8-
],
9-
"env": {
10-
"test": {
11-
"plugins": [
12-
// Makes power-assert work
13-
"espower"
14-
]
15-
}
16-
}
8+
]
179
}

.eslintrc

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@
33
"ecmaVersion": 6,
44
"sourceType": "module",
55
"ecmaFeatures": {
6-
"experimentalObjectRestSpread": true,
7-
"jsx": true
6+
"jsx": true,
7+
"experimentalObjectRestSpread": true
88
}
99
},
1010
"extends": "eslint:recommended",
1111
"env": {
1212
"es6": true,
13-
"node": true
13+
"node": true,
14+
"mocha": true
1415
},
16+
"plugins": [
17+
"react"
18+
],
1519
"rules": {
1620
"no-console": 0,
1721

@@ -32,6 +36,9 @@
3236
"no-this-before-super": 2,
3337
"no-unexpected-multiline": 2,
3438
"no-var": 2,
35-
"no-warning-comments": 1
39+
"no-warning-comments": 1,
40+
41+
"react/jsx-uses-react": 2,
42+
"react/jsx-uses-vars": 2
3643
}
3744
}

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,23 @@
1616
},
1717
"devDependencies": {
1818
"babel-cli": "^6.1.18",
19-
"babel-core": "^6.13.2",
2019
"babel-plugin-espower": "^2.3.1",
2120
"babel-plugin-transform-object-rest-spread": "^6.1.18",
2221
"babel-plugin-transform-runtime": "^6.1.18",
2322
"babel-preset-es2015": "^6.1.18",
2423
"babel-preset-react": "^6.11.1",
24+
"babel-register": "^6.11.6",
25+
"cross-env": "^2.0.0",
2526
"eslint": "^2.9.0",
27+
"eslint-plugin-react": "^6.1.2",
2628
"mocha": "^3.0.2",
2729
"power-assert": "^1.4.1",
2830
"rimraf": "^2.4.3"
2931
},
3032
"scripts": {
3133
"lint": "eslint src/",
3234
"clean": "rimraf lib/",
33-
"test": "env NODE_ENV=test mocha --compilers js:babel-core/register",
35+
"test": "cross-env NODE_ENV=test mocha --compilers js:babel-register",
3436
"build": "babel src/ --out-dir lib/",
3537
"preversion": "npm run lint && npm run clean && npm run build",
3638
"prepublish": "npm run clean && npm run build"

test/fixtures/.babelrc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"presets": [
3+
"es2015",
4+
"react"
5+
],
6+
"env": {
7+
"test": {
8+
"plugins": [
9+
"espower"
10+
]
11+
}
12+
}
13+
}
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1+
import React, {Component} from 'react';
12
import {FormattedHTMLMessage} from 'react-intl';
2-
import React from 'react';
33

4-
export default class Foo extends React.Component {
4+
export default class Foo extends Component {
55
render() {
6-
return <FormattedHTMLMessage id="foo.bar.baz" defaultMessage="<h1>Hello World!</h1>" description="The default message." />;
6+
return (
7+
<FormattedHTMLMessage
8+
id='foo.bar.baz'
9+
defaultMessage='<h1>Hello World!</h1>'
10+
description='The default message.'
11+
/>
12+
);
713
}
814
}

test/fixtures/FormattedHTMLMessage/expected.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
66

77
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
88

9-
var _reactIntl = require('react-intl');
10-
119
var _react = require('react');
1210

1311
var _react2 = _interopRequireDefault(_react);
1412

13+
var _reactIntl = require('react-intl');
14+
1515
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1616

1717
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -20,8 +20,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
2020

2121
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2222

23-
var Foo = function (_React$Component) {
24-
_inherits(Foo, _React$Component);
23+
var Foo = function (_Component) {
24+
_inherits(Foo, _Component);
2525

2626
function Foo() {
2727
_classCallCheck(this, Foo);
@@ -32,11 +32,16 @@ var Foo = function (_React$Component) {
3232
_createClass(Foo, [{
3333
key: 'render',
3434
value: function render() {
35-
return _react2.default.createElement(_reactIntl.FormattedHTMLMessage, { id: 'foo.bar.baz', defaultMessage: '<h1>Hello World!</h1>', description: 'The default message.' });
35+
return _react2.default.createElement(_reactIntl.FormattedHTMLMessage, {
36+
id: 'foo.bar.baz',
37+
defaultMessage: '<h1>Hello World!</h1>',
38+
description: 'The default message.'
39+
});
3640
}
3741
}]);
3842

3943
return Foo;
40-
}(_react2.default.Component);
44+
}(_react.Component);
4145

4246
exports.default = Foo;
47+
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1+
import React, {Component} from 'react';
12
import {FormattedMessage} from 'react-intl';
2-
import React from 'react';
33

4-
export default class Foo extends React.Component {
4+
export default class Foo extends Component {
55
render() {
6-
return <FormattedMessage id="foo.bar.baz" defaultMessage="Hello World!" description="The default message." />;
6+
return (
7+
<FormattedMessage
8+
id='foo.bar.baz'
9+
defaultMessage='Hello World!'
10+
description='The default message.'
11+
/>
12+
);
713
}
814
}

test/fixtures/FormattedMessage/expected.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
66

77
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
88

9-
var _reactIntl = require('react-intl');
10-
119
var _react = require('react');
1210

1311
var _react2 = _interopRequireDefault(_react);
1412

13+
var _reactIntl = require('react-intl');
14+
1515
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1616

1717
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -20,8 +20,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
2020

2121
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2222

23-
var Foo = function (_React$Component) {
24-
_inherits(Foo, _React$Component);
23+
var Foo = function (_Component) {
24+
_inherits(Foo, _Component);
2525

2626
function Foo() {
2727
_classCallCheck(this, Foo);
@@ -32,11 +32,16 @@ var Foo = function (_React$Component) {
3232
_createClass(Foo, [{
3333
key: 'render',
3434
value: function render() {
35-
return _react2.default.createElement(_reactIntl.FormattedMessage, { id: 'foo.bar.baz', defaultMessage: 'Hello World!', description: 'The default message.' });
35+
return _react2.default.createElement(_reactIntl.FormattedMessage, {
36+
id: 'foo.bar.baz',
37+
defaultMessage: 'Hello World!',
38+
description: 'The default message.'
39+
});
3640
}
3741
}]);
3842

3943
return Foo;
40-
}(_react2.default.Component);
44+
}(_react.Component);
4145

4246
exports.default = Foo;
47+

test/fixtures/defineMessages/actual.js

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1-
import {defineMessages} from 'react-intl';
2-
import React from 'react';
1+
import React, {Component} from 'react';
2+
import {defineMessages, FormattedMessage} from 'react-intl';
33

4-
export default class Foo extends React.Component {
4+
const msgs = defineMessages({
5+
header: {
6+
id: 'foo.bar.baz',
7+
defaultMessage: 'Hello World!',
8+
description: 'The default message',
9+
},
10+
content: {
11+
id: 'foo.bar.biff',
12+
defaultMessage: 'Hello Nurse!',
13+
description: 'Another message',
14+
},
15+
});
16+
17+
export default class Foo extends Component {
518
render() {
6-
const msgs = defineMessages({
7-
header: {
8-
id: 'foo.bar.baz',
9-
defaultMessage: 'Hello World!',
10-
description: 'The default message',
11-
},
12-
content: {
13-
id: 'foo.bar.biff',
14-
defaultMessage: 'Hello Nurse!',
15-
description: 'Another message',
16-
},
17-
});
1819
return (
1920
<div>
20-
<h1>{this.props.intl.formatMessage(msgs.header)}</h1>
21-
<p>{this.props.intl.formatMessage(msgs.content)}</p>
21+
<h1><FormattedMessage {...msgs.header}/></h1>
22+
<p><FormattedMessage {...msgs.content}/></p>
2223
</div>
2324
);
2425
}

test/fixtures/defineMessages/expected.js

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
66

77
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
88

9-
var _reactIntl = require('react-intl');
10-
119
var _react = require('react');
1210

1311
var _react2 = _interopRequireDefault(_react);
1412

13+
var _reactIntl = require('react-intl');
14+
1515
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1616

1717
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -20,8 +20,21 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
2020

2121
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
2222

23-
var Foo = function (_React$Component) {
24-
_inherits(Foo, _React$Component);
23+
var msgs = (0, _reactIntl.defineMessages)({
24+
header: {
25+
id: 'foo.bar.baz',
26+
defaultMessage: 'Hello World!',
27+
description: 'The default message'
28+
},
29+
content: {
30+
id: 'foo.bar.biff',
31+
defaultMessage: 'Hello Nurse!',
32+
description: 'Another message'
33+
}
34+
});
35+
36+
var Foo = function (_Component) {
37+
_inherits(Foo, _Component);
2538

2639
function Foo() {
2740
_classCallCheck(this, Foo);
@@ -32,36 +45,25 @@ var Foo = function (_React$Component) {
3245
_createClass(Foo, [{
3346
key: 'render',
3447
value: function render() {
35-
var msgs = (0, _reactIntl.defineMessages)({
36-
header: {
37-
id: 'foo.bar.baz',
38-
defaultMessage: 'Hello World!',
39-
description: 'The default message'
40-
},
41-
content: {
42-
id: 'foo.bar.biff',
43-
defaultMessage: 'Hello Nurse!',
44-
description: 'Another message'
45-
}
46-
});
4748
return _react2.default.createElement(
4849
'div',
4950
null,
5051
_react2.default.createElement(
5152
'h1',
5253
null,
53-
this.props.intl.formatMessage(msgs.header)
54+
_react2.default.createElement(_reactIntl.FormattedMessage, msgs.header)
5455
),
5556
_react2.default.createElement(
5657
'p',
5758
null,
58-
this.props.intl.formatMessage(msgs.content)
59+
_react2.default.createElement(_reactIntl.FormattedMessage, msgs.content)
5960
)
6061
);
6162
}
6263
}]);
6364

6465
return Foo;
65-
}(_react2.default.Component);
66+
}(_react.Component);
6667

6768
exports.default = Foo;
69+

0 commit comments

Comments
 (0)