children = children.map(c => (typeof c === 'string' ? {text: c} : c));
    return {type: 'div', children, prop: undefined};
  }
  function span(prop) {
    return {type: 'span', children: [], prop};
  }
  it('can update child nodes of a host instance', () => {
    function Bar(props) {
      return <span>{props.text}</span>;
    }
    function Foo(props) {
      return (
        <div>
          <Bar text={props.text} />
          {props.text === 'World' ? <Bar text={props.text} /> : null}
        </div>
      );
    }
    ReactNoop.render(<Foo text="Hello" />);
    ReactNoop.flush();
    expect(ReactNoop.getChildren()).toEqual([div(span())]);
    ReactNoop.render(<Foo text="World" />);
    ReactNoop.flush();
    expect(ReactNoop.getChildren()).toEqual([div(span(), span())]);
  });
  it('can update child nodes of a fragment', function() {
    function Bar(props) {
      return <span>{props.text}</span>;
    }
    function Foo(props) {