Files
test-repo/tests/flow/object_assign/A.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

27 lines
633 B
JavaScript

/**
* @flow
*/
var EventEmitter = require('events').EventEmitter;
// This pattern seems to cause the trouble.
var Bad = Object.assign({}, EventEmitter.prototype, {
foo: function(): string { return 'hi'; }
});
// Calling Bad.foo() in the same file doesn't error
var bad: number = Bad.foo();
// Doesn't repro if I extend the class myself
class MyEventEmitter extends events$EventEmitter {}
var Good = Object.assign({}, MyEventEmitter.prototype, {
foo: function(): string { return 'hi'; }
});
// Calling Good.foo() in the same file doesn't error
var good: number = Good.foo();
module.exports = {
Bad: Bad,
Good: Good,
};