2021-06-13 10:46:35 +00:00
|
|
|
'use strict';
|
|
|
|
require('../common');
|
|
|
|
const assert = require('assert');
|
|
|
|
const { spawnSync } = require('child_process');
|
|
|
|
|
|
|
|
// --warnings is on by default.
|
|
|
|
assertHasWarning(spawnWithFlags([]));
|
|
|
|
|
|
|
|
// --warnings can be passed alone.
|
|
|
|
assertHasWarning(spawnWithFlags(['--warnings']));
|
|
|
|
|
|
|
|
// --no-warnings can be passed alone.
|
|
|
|
assertHasNoWarning(spawnWithFlags(['--no-warnings']));
|
|
|
|
|
|
|
|
// Last flag takes precedence.
|
|
|
|
assertHasWarning(spawnWithFlags(['--no-warnings', '--warnings']));
|
|
|
|
|
|
|
|
// Non-boolean flags cannot be negated.
|
|
|
|
assert(spawnWithFlags(['--no-max-http-header-size']).stderr.toString().includes(
|
|
|
|
'--no-max-http-header-size is an invalid negation because it is not ' +
|
|
|
|
'a boolean option',
|
|
|
|
));
|
|
|
|
|
2024-09-28 13:58:55 +00:00
|
|
|
// Inexistent flags cannot be negated.
|
2021-06-13 10:46:35 +00:00
|
|
|
assert(spawnWithFlags(['--no-i-dont-exist']).stderr.toString().includes(
|
|
|
|
'bad option: --no-i-dont-exist',
|
|
|
|
));
|
|
|
|
|
|
|
|
function spawnWithFlags(flags) {
|
|
|
|
return spawnSync(process.execPath, [...flags, '-e', 'new Buffer(0)']);
|
|
|
|
}
|
|
|
|
|
|
|
|
function assertHasWarning(proc) {
|
|
|
|
assert(proc.stderr.toString().includes('Buffer() is deprecated'));
|
|
|
|
}
|
|
|
|
|
|
|
|
function assertHasNoWarning(proc) {
|
|
|
|
assert(!proc.stderr.toString().includes('Buffer() is deprecated'));
|
|
|
|
}
|