element.test.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import React from '../src/May'
  2. // import React from "../dist/ReactANU";
  3. describe('may.js', () => {
  4. it('mayRender', () => {
  5. spyOn(console, 'error');
  6. var container = document.createElement('div');
  7. class Child extends React.Component {
  8. render() {
  9. return (
  10. <div>
  11. {this.props.val}
  12. </div>);
  13. }
  14. }
  15. class Parent extends React.Component {
  16. constructor() {
  17. super();
  18. this.state = { val: 'I wonder' };
  19. }
  20. Change = () => {
  21. this.setState({ val: 'I see' });
  22. }
  23. render() {
  24. return (
  25. <div className="mystyle" style={{ width: '40%', marginLeft: '30px', backgroundColor: 'blue' }} onClick={this.Change}>
  26. {this.state.val === 'I wonder' ? <Child key="1" val="1" /> : <Child key="1" val="1" />}
  27. {this.state.val === 'I wonder' ? <Child key="2" val="2" /> : <Child key="3" val="3" />}
  28. </div>
  29. );
  30. // if (this.state.val === 'I wonder') {
  31. // return (
  32. // <div className="mystyle" style={{ width: '40%', marginLeft: '30px', backgroundColor: 'blue' }} onClick={this.Change}>
  33. // <Child key="1" val="1" />
  34. // <Child key="2" val="2" />
  35. // </div>
  36. // );
  37. // } else {
  38. // return (
  39. // <div className="mystyle" style={{ width: '40%', marginLeft: '30px', backgroundColor: 'blue' }} onClick={this.Change}>
  40. // <Child key="2" val="2" />
  41. // <Child key="1" val="1" />
  42. // </div>
  43. // );
  44. // }
  45. }
  46. }
  47. React.render(<Parent />, container);
  48. document.body.appendChild(container);
  49. expect(console.error.calls.count()).toBe(0);
  50. });
  51. })