forked from prettier/prettier
-
Notifications
You must be signed in to change notification settings - Fork 1
/
jsfmt.spec.js.snap
89 lines (72 loc) · 2.56 KB
/
jsfmt.spec.js.snap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
exports[`test main.js 1`] = `
"// @flow
var React = require(\'react\');
class CustomComponent extends React.Component {
props: {
prop: string
};
}
var a: React.Element<{prop: string}> = <CustomComponent prop=\"asdf\" />;
var b: React.Element<{prop1: string}> = <CustomComponent prop=\"asdf\" />; // Error: Props<{prop}> ~> Props<{prop1}>
// Since intrinsics are typed as \`any\` out of the box, we can pass any
// attributes to intrinsics!
var c: React.Element<any> = <div not_a_real_attr=\"asdf\" />;
// However, we don\'t allow such elements to be viewed as React elements with
// different attributes.
var d: React.Element<{doesntmatch: string}> = <div not_a_real_attr=\"asdf\" />;
// No error as long as expectations are consistent, though.
var e: React.Element<{not_a_real_attr: string}> = <div not_a_real_attr=\"asdf\" />;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// @flow
var React = require(\"react\");
class CustomComponent extends React.Component {
props: { prop: string };
}
var a: React.Element<{ prop: string }> = <CustomComponent prop=\"asdf\" />;
var b: React.Element<{ prop1: string }> = <CustomComponent prop=\"asdf\" />;
// Error: Props<{prop}> ~> Props<{prop1}>
// Since intrinsics are typed as \`any\` out of the box, we can pass any
// attributes to intrinsics!
var c: React.Element<any> = <div not_a_real_attr=\"asdf\" />;
// However, we don\'t allow such elements to be viewed as React elements with
// different attributes.
var d: React.Element<{ doesntmatch: string }> = <div not_a_real_attr=\"asdf\" />;
// No error as long as expectations are consistent, though.
var e: React.Element<{ not_a_real_attr: string }> = (
<div not_a_real_attr=\"asdf\" />
);
"
`;
exports[`test strings.js 1`] = `
"/* @flow */
var React = require(\'react\');
// The builtin $JSXIntrinsics should allow any string
var Div = \'div\';
var Bad = \'bad\';
var Str: string = \'str\';
<Div />; // This is fine
<Bad />; // This is fine
<Str />; // This is fine
React.createElement(\'div\', {}); // This is fine
React.createElement(\'bad\', {}); // This is fine
<Div id={42} />; // This is fine
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* @flow */
var React = require(\"react\");
// The builtin $JSXIntrinsics should allow any string
var Div = \"div\";
var Bad = \"bad\";
var Str: string = \"str\";
<Div />;
/* This is fine*/
<Bad />;
/* This is fine*/
<Str />;
// This is fine
React.createElement(\"div\", {});
// This is fine
React.createElement(\"bad\", {});
/* This is fine*/
<Div id={42} />; // This is fine
"
`;