Files
test-repo/tests/flow/refi/bound.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

65 lines
1.0 KiB
JavaScript

// refinements of bound vars (closed-over locals)
// should have the same lifetimes as heap objects.
var x : ?string = "xxx";
var tests =
[
function() {
var y : string = x; // not ok
},
function() {
if (x != null) {
var y : string = x; // ok
}
},
function() {
if (x == null) {} else {
var y : string = x; // ok
}
},
function() {
if (x == null)
return;
var y : string = x; // ok
},
function() {
if (!(x != null)) {} else {
var y : string = x; // ok
}
},
/* TODO we actually allow this currently; fix
// requires further remedial work in Env
function() {
if (x != null) {
alert("");
var y : string = x; // not ok
}
},
*/
function() {
if (x != null) {}
var y : string = x; // not ok
},
function() {
if (x != null) {
} else {
var y : string = x; // not ok
}
},
function() {
var y : string = x != null ? x : ""; // ok
},
function() {
var y : string = x || ""; // ok
},
];