// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`createclass-callsite.js 1`] = `
====================================options=====================================
parsers: ["flow"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
/* @flow */
var React = require('react');
var Hello = require('./createclass-module');

var HelloLocal = React.createClass({
  propTypes: {
    name: React.PropTypes.string.isRequired,
  },

  render: function(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
});

var Callsite = React.createClass({
  render: function(): React.Element<*> {
    return (
      <div>
        <Hello />
        <HelloLocal />
      </div>
    );
  }
});

module.exports = Callsite;

=====================================output=====================================
/* @flow */
var React = require("react");
var Hello = require("./createclass-module");

var HelloLocal = React.createClass({
  propTypes: {
    name: React.PropTypes.string.isRequired
  },

  render: function(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
});

var Callsite = React.createClass({
  render: function(): React.Element<*> {
    return (
      <div>
        <Hello />
        <HelloLocal />
      </div>
    );
  }
});

module.exports = Callsite;

================================================================================
`;

exports[`createclass-module.js 1`] = `
====================================options=====================================
parsers: ["flow"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
/* @flow */
var React = require('react');

var Hello = React.createClass({
  propTypes: {
    name: React.PropTypes.string.isRequired,
  },

  render: function(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
});

module.exports = Hello;

=====================================output=====================================
/* @flow */
var React = require("react");

var Hello = React.createClass({
  propTypes: {
    name: React.PropTypes.string.isRequired
  },

  render: function(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
});

module.exports = Hello;

================================================================================
`;

exports[`es6class-proptypes-callsite.js 1`] = `
====================================options=====================================
parsers: ["flow"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
/* @flow */
import React from 'react';
import Hello from './es6class-proptypes-module';

class HelloLocal extends React.Component<void, {name: string}, void> {
  defaultProps = {};
  propTypes = {
    name: React.PropTypes.string.isRequired,
  };
  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

class Callsite extends React.Component<void, {}, void> {
  render(): React.Element<*> {
    return (
      <div>
        <Hello />
        <HelloLocal />
      </div>
    );
  }
}

module.exports = Callsite;

=====================================output=====================================
/* @flow */
import React from "react";
import Hello from "./es6class-proptypes-module";

class HelloLocal extends React.Component<void, { name: string }, void> {
  defaultProps = {};
  propTypes = {
    name: React.PropTypes.string.isRequired
  };
  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

class Callsite extends React.Component<void, {}, void> {
  render(): React.Element<*> {
    return (
      <div>
        <Hello />
        <HelloLocal />
      </div>
    );
  }
}

module.exports = Callsite;

================================================================================
`;

exports[`es6class-proptypes-module.js 1`] = `
====================================options=====================================
parsers: ["flow"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
/* @flow */
import React from 'react';

class Hello extends React.Component<void, {name: string}, void> {
  defaultProps = {};
  propTypes = {
    name: React.PropTypes.string.isRequired,
  };

  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

module.exports = Hello;

=====================================output=====================================
/* @flow */
import React from "react";

class Hello extends React.Component<void, { name: string }, void> {
  defaultProps = {};
  propTypes = {
    name: React.PropTypes.string.isRequired
  };

  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

module.exports = Hello;

================================================================================
`;

exports[`es6class-types-callsite.js 1`] = `
====================================options=====================================
parsers: ["flow"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
/* @flow */
import React from 'react';
import Hello from './es6class-types-module';

type Props = {name: string};

class HelloLocal extends React.Component<void, Props, void> {
  props: Props;

  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

class Callsite extends React.Component<void, Props, void> {
  render(): React.Element<*> {
    return (
      <div>
        <Hello />
        <HelloLocal />
      </div>
    );
  }
}

module.exports = Callsite;

=====================================output=====================================
/* @flow */
import React from "react";
import Hello from "./es6class-types-module";

type Props = { name: string };

class HelloLocal extends React.Component<void, Props, void> {
  props: Props;

  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

class Callsite extends React.Component<void, Props, void> {
  render(): React.Element<*> {
    return (
      <div>
        <Hello />
        <HelloLocal />
      </div>
    );
  }
}

module.exports = Callsite;

================================================================================
`;

exports[`es6class-types-module.js 1`] = `
====================================options=====================================
parsers: ["flow"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
/* @flow */
import React from 'react';

type Props = {name: string};

class Hello extends React.Component<{}, Props, void>{
  props: Props;
  static defaultProps: {};

  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

module.exports = Hello;

=====================================output=====================================
/* @flow */
import React from "react";

type Props = { name: string };

class Hello extends React.Component<{}, Props, void> {
  props: Props;
  static defaultProps: {};

  render(): React.Element<*> {
    return <div>{this.props.name}</div>;
  }
}

module.exports = Hello;

================================================================================
`;
