Skip to content
Snippets Groups Projects
Commit 37aa5538 authored by Paul Kaplan's avatar Paul Kaplan
Browse files

Remove unused containers.

The functionality was all moved to the Controls container, these containers are no longer used
parent 189a78d2
No related branches found
No related tags found
No related merge requests found
import bindAll from 'lodash.bindall';
import PropTypes from 'prop-types';
import React from 'react';
import VM from 'scratch-vm';
import GreenFlagComponent from '../components/green-flag/green-flag.jsx';
class GreenFlag extends React.Component {
constructor (props) {
super(props);
bindAll(this, [
'handleClick',
'onProjectRunStart',
'onProjectRunStop'
]);
this.state = {projectRunning: false};
}
componentDidMount () {
this.props.vm.addListener('PROJECT_RUN_START', this.onProjectRunStart);
this.props.vm.addListener('PROJECT_RUN_STOP', this.onProjectRunStop);
}
componentWillUnmount () {
this.props.vm.removeListener('PROJECT_RUN_START', this.onProjectRunStart);
this.props.vm.removeListener('PROJECT_RUN_STOP', this.onProjectRunStop);
}
onProjectRunStart () {
this.setState({projectRunning: true});
}
onProjectRunStop () {
this.setState({projectRunning: false});
}
handleClick (e) {
e.preventDefault();
if (e.shiftKey) {
this.props.vm.setTurboMode(!this.props.vm.runtime.turboMode);
} else {
this.props.vm.greenFlag();
}
}
render () {
const {
vm, // eslint-disable-line no-unused-vars
...props
} = this.props;
return (
<GreenFlagComponent
active={this.state.projectRunning}
onClick={this.handleClick}
{...props}
/>
);
}
}
GreenFlag.propTypes = {
vm: PropTypes.instanceOf(VM)
};
export default GreenFlag;
import bindAll from 'lodash.bindall';
import PropTypes from 'prop-types';
import React from 'react';
import VM from 'scratch-vm';
import StopAllComponent from '../components/stop-all/stop-all.jsx';
class StopAll extends React.Component {
constructor (props) {
super(props);
bindAll(this, [
'handleClick',
'onProjectRunStart',
'onProjectRunStop'
]);
this.state = {projectRunning: false};
}
componentDidMount () {
this.props.vm.addListener('PROJECT_RUN_START', this.onProjectRunStart);
this.props.vm.addListener('PROJECT_RUN_STOP', this.onProjectRunStop);
}
componentWillUnmount () {
this.props.vm.removeListener('PROJECT_RUN_START', this.onProjectRunStart);
this.props.vm.removeListener('PROJECT_RUN_STOP', this.onProjectRunStop);
}
onProjectRunStart () {
this.setState({projectRunning: true});
}
onProjectRunStop () {
this.setState({projectRunning: false});
}
handleClick (e) {
e.preventDefault();
this.props.vm.stopAll();
}
render () {
const {
vm, // eslint-disable-line no-unused-vars
...props
} = this.props;
return (
<StopAllComponent
active={!this.state.projectRunning}
onClick={this.handleClick}
{...props}
/>
);
}
}
StopAll.propTypes = {
vm: PropTypes.instanceOf(VM)
};
export default StopAll;
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`GreenFlag Container renders active state 1`] = `
<img
className="undefined"
draggable={false}
onClick={[Function]}
src="test-file-stub"
title="Go"
/>
`;
exports[`GreenFlag Container renders inactive state 1`] = `
<img
className=""
draggable={false}
onClick={[Function]}
src="test-file-stub"
title="Go"
/>
`;
import React from 'react';
import {shallow} from 'enzyme';
import GreenFlag from '../../../src/containers/green-flag';
import renderer from 'react-test-renderer';
import VM from 'scratch-vm';
describe('GreenFlag Container', () => {
let vm;
beforeEach(() => {
vm = new VM();
});
test('renders active state', () => {
const component = renderer.create(
<GreenFlag
active
vm={vm}
/>
);
expect(component.toJSON()).toMatchSnapshot();
});
test('renders inactive state', () => {
const component = renderer.create(
<GreenFlag
active={false}
vm={vm}
/>
);
expect(component.toJSON()).toMatchSnapshot();
});
test('triggers onClick when active', () => {
const onClick = jest.fn();
const componentShallowWrapper = shallow(
<GreenFlag
active
vm={vm}
onClick={onClick}
/>
);
componentShallowWrapper.simulate('click');
expect(onClick).toHaveBeenCalled();
});
// @todo: Test for handles key events.
// @todo: Test project run start.
// @todo: Test project run stop.
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment