Skip to content

Updated tests #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Oct 26, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,6 @@ cd tests
npm install
npm run build
cd ..
node renderer.js &
node render.js &
python runtests.py
```
15 changes: 6 additions & 9 deletions example/example_app/static/jsx/components/CommentBox.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,17 @@ export default class CommentBox extends Component {
this.state = {
comments: props.comments,
};
this.postComment = this.postComment.bind(this);
this.getComments = this.getComments.bind(this);
this.handleCommentSubmit = this.handleCommentSubmit.bind(this);
}

handleCommentSubmit(comment) {
handleCommentSubmit = comment => {
var comments = this.state.comments;
comments.push(comment);
this.setState({comments: comments}, function() {
this.postComment(comment);
});
}
};

postComment(comment) {
postComment = comment => {
$.ajax({
url: this.props.url,
type: 'POST',
Expand All @@ -35,9 +32,9 @@ export default class CommentBox extends Component {
console.error(this.props.url, status, err.toString());
}.bind(this)
});
}
};

getComments() {
getComments = () => {
$.ajax({
url: this.props.url,
dataType: 'json',
Expand All @@ -49,7 +46,7 @@ export default class CommentBox extends Component {
}.bind(this),
complete: this.pollForNewComments.bind(this)
});
}
};

pollForNewComments() {
setTimeout(this.getComments, this.props.pollInterval);
Expand Down
15 changes: 6 additions & 9 deletions example/example_app/static/jsx/components/CommentForm.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ export default class CommentForm extends Component {
constructor(props) {
super(props);
this.state = {author: '', text: ''};
this.handleAuthorChange = this.handleAuthorChange.bind(this);
this.handleTextChange = this.handleTextChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}

handleSubmit(e) {
handleSubmit = e => {
e.preventDefault();
var author = this.state.author.trim();
var text = this.state.text.trim();
Expand All @@ -18,15 +15,15 @@ export default class CommentForm extends Component {
}
this.props.onCommentSubmit({author: author, text: text});
this.setState({author: '', text: ''});
}
};

handleAuthorChange(e) {
handleAuthorChange = e => {
this.setState({author: e.target.value});
}
};

handleTextChange(e) {
handleTextChange = e => {
this.setState({text: e.target.value});
}
};

render() {
return (
Expand Down
15 changes: 9 additions & 6 deletions tests/components/ES6Test.jsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import React, {Component, PropTypes} from 'react';
import PropTypes from 'prop-types';
import React, {PureComponent} from 'react';

export default class HelloWorld extends Component {
render() {
return <span>Hello {this.props.name}</span>;
}
};
class HelloWorld extends PureComponent {
render() {
return <span>Hello {this.props.name}</span>
}
}

HelloWorld.propTypes = {
name: PropTypes.string
};

export default HelloWorld;
15 changes: 8 additions & 7 deletions tests/components/ErrorThrowingComponent.jsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
var React = require('react');
import React, {PureComponent} from 'react';

var ErrorThrowingComponent = React.createClass({
render: function() {
throw Error();
}
});
class ErrorThrowingComponent extends PureComponent {
render() {
throw Error();
return null
}
}

module.exports = ErrorThrowingComponent;
export default ErrorThrowingComponent;
14 changes: 7 additions & 7 deletions tests/components/HelloWorld.jsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var React = require('react');
import React, {PureComponent} from 'react';

var HelloWorld = React.createClass({
render: function() {
return <span>Hello {this.props.name}</span>;
}
});
class HelloWorld extends PureComponent {
render() {
return <span>Hello {this.props.name}</span>
}
}

module.exports = HelloWorld;
export default HelloWorld;
9 changes: 5 additions & 4 deletions tests/components/HelloWorldPlain.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
var React = require('react');

var HelloWorld = React.createClass({displayName: 'HelloWorld',
render: function() {
class HelloWorld extends React.Component {
static displayName = 'HelloWorld';
render() {
return React.createElement("span", null, "Hello ", this.props.name);
}
});
}

module.exports = HelloWorld;
module.exports = HelloWorld;
33 changes: 17 additions & 16 deletions tests/components/HelloWorldWrapper.jsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
var React = require('react');
var HelloWorld = require('./HelloWorld.jsx');
import React, {PureComponent} from 'react';
import HelloWorld from './HelloWorld.jsx'

var HelloWorldWrapper = React.createClass({
render: function() {
var numbers = this.props.numbers.map(function(number) {
return number * 10;
}).join(', ');
return (
<div>
<HelloWorld name={this.props.name} />
<span>{numbers}</span>
</div>
);
}
});
class HelloWorldWrapper extends PureComponent {
render() {
const numbers = this.props.numbers.map(function(number) {
return number * 10;
}).join(', ')

module.exports = HelloWorldWrapper;
return (
<div>
<HelloWorld name={this.props.name} />
<span>{numbers}</span>
</div>
)
}
}

export default HelloWorldWrapper;
16 changes: 8 additions & 8 deletions tests/components/PerfTestComponent.jsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
var React = require('react');
var HelloWorld = require('./HelloWorld.jsx');
import React, {PureComponent} from 'react';
import HelloWorld from './HelloWorld.jsx'

var PerfTestComponent = React.createClass({
render: function() {
return <HelloWorld name={this.props.name} />;
}
});
class PerfTestComponent extends PureComponent {
render() {
return <HelloWorld name={this.props.name} />
}
}

module.exports = PerfTestComponent;
export default PerfTestComponent;
14 changes: 7 additions & 7 deletions tests/components/SyntaxErrorComponent.jsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var React = require('react');
import React, {PureComponent} from 'react';

var SyntaxErrorComponent = React.createClass({
render: function() {
?+
}
});
class SyntaxErrorComponent extends PureComponent {
render() {
return ?+@
}
}

module.exports = SyntaxErrorComponent;
export default SyntaxErrorComponent;
14 changes: 7 additions & 7 deletions tests/test_app/static/test_app/StaticFileFinderComponent.jsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var React = require('react');
import React, {PureComponent} from 'react';

var StaticFileFinderComponent = React.createClass({
render: function() {
return <span>You found me.</span>;
}
});
class StaticFileFinderComponent extends PureComponent {
render() {
return <span>You found me.</span>
}
}

module.exports = StaticFileFinderComponent;
export default StaticFileFinderComponent;