1'use strict';
2
3const common = require('../common');
4const { Worker } = require('worker_threads');
5const assert = require('assert');
6
7new Worker(new URL('data:text/javascript,'))
8  .on('error', common.mustNotCall());
9new Worker(new URL('data:text/javascript,export{}'))
10  .on('error', common.mustNotCall());
11
12new Worker(new URL('data:text/plain,'))
13  .on('error', common.mustCall());
14new Worker(new URL('data:text/javascript,module.exports={}'))
15  .on('error', common.mustCall());
16
17new Worker(new URL('data:text/javascript,await Promise.resolve()'))
18  .on('error', common.mustNotCall());
19new Worker(new URL('data:text/javascript,await Promise.reject()'))
20  .on('error', common.mustCall());
21new Worker(new URL('data:text/javascript,await new Promise(()=>{})'))
22  .on(
23    'exit',
24    common.mustCall((exitCode) => { assert.strictEqual(exitCode, 13); })
25  );
26