File Explorer

/var/runtime/node_modules/@aws-sdk/node_modules/help-me

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

4 dirs
6 files
test.js5.1 KB · 226 lines
'use strict' const test = require('tape')const concat = require('concat-stream')const fs = require('fs')const helpMe = require('./') test('throws if no directory is passed', function (t) {  try {    helpMe()    t.fail()  } catch (err) {    t.equal(err.message, 'missing dir')  }  t.end()}) test('throws if a normal file is passed', function (t) {  try {    helpMe({      dir: __filename    })    t.fail()  } catch (err) {    t.equal(err.message, `${__filename} is not a directory`)  }  t.end()}) test('throws if the directory cannot be accessed', function (t) {  try {    helpMe({      dir: './foo'    })    t.fail()  } catch (err) {    t.equal(err.message, './foo is not a directory')  }  t.end()}) test('show a generic help.txt from a folder to a stream', function (t) {  t.plan(2)   helpMe({    dir: 'fixture/basic'  }).createStream()    .pipe(concat(function (data) {      fs.readFile('fixture/basic/help.txt', function (err, expected) {        t.error(err)        t.equal(data.toString(), expected.toString())      })    }))}) test('custom help command with an array', function (t) {  t.plan(2)   helpMe({    dir: 'fixture/basic'  }).createStream(['hello'])    .pipe(concat(function (data) {      fs.readFile('fixture/basic/hello.txt', function (err, expected) {        t.error(err)        t.equal(data.toString(), expected.toString())      })    }))}) test('custom help command without an ext', function (t) {  t.plan(2)   helpMe({    dir: 'fixture/no-ext',    ext: ''  }).createStream(['hello'])    .pipe(concat(function (data) {      fs.readFile('fixture/no-ext/hello', function (err, expected) {        t.error(err)        t.equal(data.toString(), expected.toString())      })    }))}) test('custom help command with a string', function (t) {  t.plan(2)   helpMe({    dir: 'fixture/basic'  }).createStream('hello')    .pipe(concat(function (data) {      fs.readFile('fixture/basic/hello.txt', function (err, expected) {        t.error(err)        t.equal(data.toString(), expected.toString())      })    }))}) test('missing help file', function (t) {  t.plan(1)   helpMe({    dir: 'fixture/basic'  }).createStream('abcde')    .on('error', function (err) {      t.equal(err.message, 'no such help file')    })    .resume()}) test('custom help command with an array', function (t) {  const helper = helpMe({    dir: 'fixture/shortnames'  })   t.test('abbreviates two words in one', function (t) {    t.plan(2)     helper      .createStream(['world'])      .pipe(concat(function (data) {        fs.readFile('fixture/shortnames/hello world.txt', function (err, expected) {          t.error(err)          t.equal(data.toString(), expected.toString())        })      }))  })   t.test('abbreviates three words in two', function (t) {    t.plan(2)     helper      .createStream(['abcde', 'fghi'])      .pipe(concat(function (data) {        fs.readFile('fixture/shortnames/abcde fghi lmno.txt', function (err, expected) {          t.error(err)          t.equal(data.toString(), expected.toString())        })      }))  })   t.test('abbreviates a word', function (t) {    t.plan(2)     helper      .createStream(['abc', 'fg'])      .pipe(concat(function (data) {        fs.readFile('fixture/shortnames/abcde fghi lmno.txt', function (err, expected) {          t.error(err)          t.equal(data.toString(), expected.toString())        })      }))  })   t.test('abbreviates a word using strings', function (t) {    t.plan(2)     helper      .createStream('abc fg')      .pipe(concat(function (data) {        fs.readFile('fixture/shortnames/abcde fghi lmno.txt', function (err, expected) {          t.error(err)          t.equal(data.toString(), expected.toString())        })      }))  })   t.test('print a disambiguation', function (t) {    t.plan(1)     const expected = '' +      'There are 2 help pages that matches the given request, please disambiguate:\n' +      '  * abcde fghi lmno\n' +      '  * abcde hello\n'     helper      .createStream(['abc'])      .pipe(concat({ encoding: 'string' }, function (data) {        t.equal(data, expected)      }))  })   t.test('choose exact match over partial', function (t) {    t.plan(1)     helpMe({      dir: 'fixture/sameprefix'    }).createStream(['hello'])      .pipe(concat({ encoding: 'string' }, function (data) {        t.equal(data, 'hello')      }))  })}) test('support for help files organized in folders', function (t) {  const helper = helpMe({    dir: 'fixture/dir'  })   t.test('passing an array', function (t) {    t.plan(2)     helper      .createStream(['a', 'b'])      .pipe(concat(function (data) {        fs.readFile('fixture/dir/a/b.txt', function (err, expected) {          t.error(err)          t.equal(data.toString(), expected.toString())        })      }))  })   t.test('passing a string', function (t) {    t.plan(2)     helper      .createStream('a b')      .pipe(concat(function (data) {        fs.readFile('fixture/dir/a/b.txt', function (err, expected) {          t.error(err)          t.equal(data.toString(), expected.toString())        })      }))  })})