const childProcess = require('child_process'); const fs = require('fs'); const os = require('os'); const path = require('path'); const testCases = [ { binInputParameters: ['-a', 'spec/artifacts/empty.handlebars'], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.amd.js', }, { binInputParameters: [ '-a', '-f', 'TEST_OUTPUT', 'spec/artifacts/empty.handlebars', ], outputLocation: 'TEST_OUTPUT', expectedOutputSpec: './spec/expected/empty.amd.js', }, { binInputParameters: [ '-a', '-n', 'CustomNamespace.templates', 'spec/artifacts/empty.handlebars', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.amd.namespace.js', }, { binInputParameters: [ '-a', '--namespace', 'CustomNamespace.templates', 'spec/artifacts/empty.handlebars', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.amd.namespace.js', }, { binInputParameters: ['-a', '-s', 'spec/artifacts/empty.handlebars'], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.amd.simple.js', }, { binInputParameters: ['-a', '-m', 'spec/artifacts/empty.handlebars'], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.amd.min.js', }, { binInputParameters: [ 'spec/artifacts/known.helpers.handlebars', '-a', '-k', 'someHelper', '-k', 'anotherHelper', '-o', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/non.empty.amd.known.helper.js', }, { binInputParameters: ['--help'], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/help.menu.txt', }, { binInputParameters: ['-v'], outputLocation: 'stdout', expectedOutput: require('../../package.json').version, }, { binInputParameters: [ '-a', '-e', 'hbs', './spec/artifacts/non.default.extension.hbs', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/non.default.extension.amd.js', }, { binInputParameters: [ '-a', '-p', './spec/artifacts/partial.template.handlebars', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/partial.template.js', }, { binInputParameters: ['spec/artifacts/empty.handlebars', '-c'], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.common.js', }, { binInputParameters: [ 'spec/artifacts/empty.handlebars', 'spec/artifacts/empty.handlebars', '-a', '-n', 'someNameSpace', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/namespace.amd.js', }, { binInputParameters: [ 'spec/artifacts/empty.handlebars', '-h', 'some-path/', '-a', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/handlebar.path.amd.js', }, { binInputParameters: [ 'spec/artifacts/partial.template.handlebars', '-r', 'spec', '-a', ], outputLocation: 'stdout', expectedOutputSpec: './spec/expected/empty.root.amd.js', }, { binInputParameters: [ '-i', '