diff --git a/test/override-promise.js b/test/override-promise.js new file mode 100644 index 0000000000..546d8b69d7 --- /dev/null +++ b/test/override-promise.js @@ -0,0 +1,18 @@ +import path from 'path'; +import test from 'ava'; + +// Can't use `test.before`, maybe because `ava` need `Promise` +// Can't use `import('..')` too, unknown reason +const nativePromise = Promise; +global.Promise = class BrokenPromise { + then() { + throw new Error('error'); + } +}; +const execa = require('..'); +global.Promise = nativePromise; + +test('Should work with third party Promise', async t => { + const {stdout} = await execa('echo execa'); + t.is(stdout, 'execa'); +});