Files
test-repo/tests/flow/refinements/hasOwnProperty.js
T
Christopher Chedeau 3375cfe605 Move tests around (#454)
* new_tests

* move_all_clobbered_tests

* remove all the tests that no longer exist

* re-run flow tests

* Move all the flow tests to tests/flow and prettier to tests/

* Move prettier tests to their own folders

* Add jsfmt files

* run prettier snapshot tests
2017-01-24 14:35:37 -08:00

22 lines
500 B
JavaScript

/* @flow */
function foo(x:{y?:() => void}) {
x.y(); // error: could be undefined
if (x.hasOwnProperty('y')) {
x.y(); // error: still could be undefined
}
if (x.hasOwnProperty('z')) {
x.z(); // error: unreachable, but we don't help you here
}
}
function bar(x:Object) {
x.y(); // treated as `any`, so allowed
if (x.hasOwnProperty('y')) {
x.y(); // still treated as `any`, so allowed
}
if (x.hasOwnProperty('z')) {
x.z(); // also treated as `any`, so allowed
}
}