tasq/node_modules/import-in-the-middle/test/other/v14-assert-cyclical-dependency-failure.mjs

37 lines
1.0 KiB
JavaScript

// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2.0 License.
//
// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2021 Datadog, Inc.
import { spawn } from 'child_process'
import { strictEqual } from 'assert'
const nodeProcess = spawn('node', [
'--loader',
'./hook.mjs',
'./test/fixtures/cyclical-a.mjs'
])
// expected output should be 'testB\ntestA' but the hook fails when running against files
// with cylical dependencies
const expectedOutput = 'testB\ntestA'
let stdout = ''
let stderr = ''
nodeProcess.stdout.on('data', (data) => {
stdout += data.toString()
})
nodeProcess.stderr.on('data', (data) => {
stderr += data.toString()
})
nodeProcess.on('close', (code) => {
// assert that the hook fails with a non-zero exit code
strictEqual(code === 1 || code === 13, true)
// satisfy linter complaining about unused variables
strictEqual(expectedOutput, expectedOutput)
strictEqual(typeof stdout, 'string')
strictEqual(typeof stderr, 'string')
})