diff --git a/tests/player.stdio.js b/tests/player.stdio.js index ec16054..9b71e6f 100644 --- a/tests/player.stdio.js +++ b/tests/player.stdio.js @@ -16,60 +16,47 @@ const formats = [ extensions: /z([3458]|blorb)$/, engine: 'bocfel.js', }, - { id: 'glulxe', extensions: /(gblorb|ulx)$/, engine: 'glulxe.js', }, - { id: 'git', extensions: /(gblorb|ulx)$/, engine: 'git.js', }, - { id: 'hugo', extensions: /hex$/, engine: 'hugo.js', }, - { id: 'tads', extensions: /(gam|t3)$/, engine: 'tads.js', - }, + } ] -function run() { - const argv = minimist(process.argv.slice(2)) - const storyfile = argv._[0] +const argv = minimist(process.argv.slice(2)) +const storyfile = argv._[0] - let format - for (const formatspec of formats) { - if ( - formatspec.id === argv.vm || - (!argv.vm && formatspec.extensions.test(storyfile)) - ) { - format = formatspec - break - } - } +const format = formats.find(x => + x.extensions.test(storyfile)) - if (!format) { - console.error('Unknown storyfile format') - return - } - - const { glkInterface, sendFn } = CheapGlkOte(handlers) - handlers.setSend(sendFn) - - const engine = require('emglken/src/' + format.engine) - const vm = new engine() - vm.prepare(fs.readFileSync(storyfile), glkInterface) - vm.start() +if (!format) { + console.error('Unknown storyfile format') + return } -run() +const { glkInterface, sendFn } = CheapGlkOte(handlers) +handlers.setSend(sendFn) + +const engine = require('emglken/src/' + format.engine) +const vm = new engine() + +vm.prepare( + fs.readFileSync(storyfile), + glkInterface) +vm.start()