118 lines
2.1 KiB
Plaintext
118 lines
2.1 KiB
Plaintext
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
|
|
exports[`in.js 1`] = `
|
|
"// @flow
|
|
|
|
let tests = [
|
|
// objects on RHS
|
|
function() {
|
|
('foo' in {});
|
|
('foo' in { foo: null });
|
|
(0 in {});
|
|
(0 in { \\"0\\": null });
|
|
},
|
|
|
|
// arrays on RHS
|
|
function() {
|
|
('foo' in []);
|
|
(0 in []);
|
|
('length' in []);
|
|
},
|
|
|
|
// primitive classes on RHS
|
|
function() {
|
|
('foo' in new String('bar'));
|
|
('foo' in new Number(123));
|
|
},
|
|
|
|
// primitives on RHS
|
|
function() {
|
|
('foo' in 123); // error
|
|
('foo' in 'bar'); // error
|
|
('foo' in void 0); // error
|
|
('foo' in null); // error
|
|
},
|
|
|
|
// bogus stuff on LHS
|
|
function() {
|
|
(null in {}); // error
|
|
(void 0 in {}); // error
|
|
({} in {}); // error
|
|
([] in {}); // error
|
|
(false in []); // error
|
|
},
|
|
|
|
// in predicates
|
|
function() {
|
|
if ('foo' in 123) {} // error
|
|
if (!'foo' in {}) {} // error, !'foo' is a boolean
|
|
if (!('foo' in {})) {}
|
|
},
|
|
|
|
// annotations on RHS
|
|
function(x: Object, y: mixed) {
|
|
('foo' in x); // ok
|
|
('foo' in y); // error
|
|
},
|
|
]
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// @flow
|
|
|
|
let tests = [
|
|
// objects on RHS
|
|
function() {
|
|
\\"foo\\" in {};
|
|
\\"foo\\" in { foo: null };
|
|
0 in {};
|
|
0 in { \\"0\\": null };
|
|
},
|
|
|
|
// arrays on RHS
|
|
function() {
|
|
\\"foo\\" in [];
|
|
0 in [];
|
|
\\"length\\" in [];
|
|
},
|
|
|
|
// primitive classes on RHS
|
|
function() {
|
|
\\"foo\\" in new String(\\"bar\\");
|
|
\\"foo\\" in new Number(123);
|
|
},
|
|
|
|
// primitives on RHS
|
|
function() {
|
|
\\"foo\\" in 123; // error
|
|
\\"foo\\" in \\"bar\\"; // error
|
|
\\"foo\\" in void 0; // error
|
|
\\"foo\\" in null; // error
|
|
},
|
|
|
|
// bogus stuff on LHS
|
|
function() {
|
|
null in {}; // error
|
|
void 0 in {}; // error
|
|
({}) in {}; // error
|
|
[] in {}; // error
|
|
false in []; // error
|
|
},
|
|
|
|
// in predicates
|
|
function() {
|
|
if (\\"foo\\" in 123) {
|
|
} // error
|
|
if (!\\"foo\\" in {}) {
|
|
} // error, !'foo' is a boolean
|
|
if (!(\\"foo\\" in {})) {
|
|
}
|
|
},
|
|
|
|
// annotations on RHS
|
|
function(x: Object, y: mixed) {
|
|
\\"foo\\" in x; // ok
|
|
\\"foo\\" in y; // error
|
|
}
|
|
];
|
|
"
|
|
`;
|