* Extract custom tests from tests/flow/
Approach:
1. Remove all .js files in tests/flow except .snap.js files.
2. Copy over all .js files from tests/ in the flow repo.
3. Go through the diff looking for deletions.
- It was easy to see which deletions were due to changes in the tests
due to updates in the flow repo.
- For the rest of the deletions, I used `git blame` to verify that
they had been added by us since the flow tests were copied over.
This makes tests/flow/ simply a copy of the tests from the flow repo,
making it easier to sync with the upstream flow tests in the future.
* Add a script for syncing the flow tests
* Sync the flow tests
30 lines
890 B
JavaScript
30 lines
890 B
JavaScript
let tests = [
|
|
function(x: { x: { foo: string } }, y: { x: { bar: number } }) {
|
|
x = y; // 2 errors: `foo` not found in y.x; `bar` not found in x.x
|
|
},
|
|
|
|
function(x: { foo: string }, y: { foo: number }) {
|
|
x = y; // 2 errors: string !~> number; number !~> string
|
|
},
|
|
|
|
function(x: { x: { foo: string } }, y: { x: { foo: number } }) {
|
|
x = y; // 2 errors: string !~> number; number !~> string
|
|
},
|
|
|
|
function(x: { +foo: string }, y: { +foo: number }) {
|
|
x = y; // 1 error: number !~> string
|
|
},
|
|
|
|
function(x: { x: { +foo: string } }, y: { x: { +foo: number } }) {
|
|
x = y; // 2 errors: string !~> number; number !~> string
|
|
},
|
|
|
|
function(x: { -foo: string }, y: { -foo: number }) {
|
|
x = y; // 1 error: string !~> number
|
|
},
|
|
|
|
function(x: { x: { -foo: string } }, y: { x: { -foo: number } }) {
|
|
x = y; // 2 errors: string !~> number; number !~> string
|
|
},
|
|
];
|