%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/test/parallel/
Upload File :
Create Path :
Current File : /home/vacivi36/vittasync.vacivitta.com.br/vittasync/node/test/parallel/test-worker-process-argv.js

'use strict';
const common = require('../common');
const assert = require('assert');
const { Worker, isMainThread, workerData } = require('worker_threads');

if (isMainThread) {
  assert.throws(() => {
    new Worker(__filename, { argv: 'foo' });
  }, {
    code: 'ERR_INVALID_ARG_TYPE'
  });

  [
    new Worker(__filename, {
      argv: [null, 'foo', 123, Symbol('bar')],
      // Asserts only if the worker is started by the test.
      workerData: 'assert-argv'
    }),
    new Worker(`
      const assert = require('assert');
      assert.deepStrictEqual(
        process.argv,
        [process.execPath, '[worker eval]']
      );
    `, {
      eval: true
    }),
    new Worker(`
      const assert = require('assert');
      assert.deepStrictEqual(
        process.argv,
        [process.execPath, '[worker eval]', 'null', 'foo', '123',
        String(Symbol('bar'))]
      );
    `, {
      argv: [null, 'foo', 123, Symbol('bar')],
      eval: true
    }),
  ].forEach((worker) => {
    worker.on('exit', common.mustCall((code) => {
      assert.strictEqual(code, 0);
    }));
  });
} else if (workerData === 'assert-argv') {
  assert.deepStrictEqual(
    process.argv,
    [process.execPath, __filename, 'null', 'foo', '123', String(Symbol('bar'))]
  );
}

Zerion Mini Shell 1.0