* 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
16 lines
538 B
JavaScript
16 lines
538 B
JavaScript
// @flow
|
|
|
|
declare var arrOfObjs: Array<{ foo: string }>;
|
|
declare var roArrOfObjs: $ReadOnlyArray<{foo: string}>;
|
|
declare var tup: [{foo: string}, {bar: number}];
|
|
|
|
(Object.assign({}, ...arrOfObjs): { foo: number}); // Error: string ~> number
|
|
(Object.assign({}, ...roArrOfObjs): { foo: number}); // Error: string ~> number
|
|
(Object.assign({}, ...tup): { foo: string, bar: boolean}); // Error: number ~> boolean
|
|
|
|
(Object.assign(
|
|
{},
|
|
...[{a: 1}, {b: 'foo'}],
|
|
...[{c: true}],
|
|
): {a: number, b: true, c: boolean}); // Error: 'foo' => true
|